Good starterboard, C or Linux etc

hi all,

I'm used to use microchip controllers (Professional software engineer), but because I need higher calculation speed, I have to move to arm processors.

For that reason I'd like to start with a starter kit.

I'd like to experiment with Ethernet, LCD, USB, RAM, Uart , i2c and spi.

Because of realtime tasks, I'd like to program the controller completely myself, without os. Is this possible?

Does someone have an opinion about the RiOT board? Or would the IOTboard of IBM/Arm be a better start (However its 250dmips is too slow for the project)?

'Mustc I use Linux or could I use own C code as main platform?

Can, for example, a raspberry pi or something else also be realtime programmed, or am I depended of Linux ?

Are there libraries like Microchip delivers example codes?

I have compared some books, but what book should be a good guide for me as noob in the world of ARM?

Hopefully you can help me give a good start with ARM this way. Thanks a lot.

John

Parents
  • Sorry for the late reply, see my latest status update.

    Several members of this forum are doing bare metal programming using application (A) processors. There are more resources to manage compared with microcontroller (M), with an OS you focus on your application. As you gain familiarity with the architecture you can start programming an application processor without an OS. In my case I have not yet tried creating a project using a Cortex-A without an OS.

    The three ARM profiles have different performance and power consumpion attributes. The ARM architecture has ARM and Thumb instruction sets (just as MIPS has MIPS16e and microMIPS), Cortex-M uses Thumb. Other major differences are in interrupt response, MMU vs. MPU, cache or/and tightly coupled memory (TCM), NEON Advanced SIMD is available in most Cortex-A implementations. Cortex-A processors run at higher clock rates, Cortex-M are used in systems with smaller memory typically using Flash and SRAM but some high-performance versions also use SDRAM.

    Since you are familiar with PIC32MZ

        the A, R, and M are ARM's way of creating profiles of their architectures.

        MIPS Aptiv has microAptiv (microAptiv UP, microAptiv UC), interAptiv, and proAptiv;

        MIPS Warrior has M-class, I-class, and P-class.

    I believe that you will be able to "simply" move between the processor profiles. In my case I'm not really engaged in intensive programming chores so I cannot do it easily all the time.

Reply
  • Sorry for the late reply, see my latest status update.

    Several members of this forum are doing bare metal programming using application (A) processors. There are more resources to manage compared with microcontroller (M), with an OS you focus on your application. As you gain familiarity with the architecture you can start programming an application processor without an OS. In my case I have not yet tried creating a project using a Cortex-A without an OS.

    The three ARM profiles have different performance and power consumpion attributes. The ARM architecture has ARM and Thumb instruction sets (just as MIPS has MIPS16e and microMIPS), Cortex-M uses Thumb. Other major differences are in interrupt response, MMU vs. MPU, cache or/and tightly coupled memory (TCM), NEON Advanced SIMD is available in most Cortex-A implementations. Cortex-A processors run at higher clock rates, Cortex-M are used in systems with smaller memory typically using Flash and SRAM but some high-performance versions also use SDRAM.

    Since you are familiar with PIC32MZ

        the A, R, and M are ARM's way of creating profiles of their architectures.

        MIPS Aptiv has microAptiv (microAptiv UP, microAptiv UC), interAptiv, and proAptiv;

        MIPS Warrior has M-class, I-class, and P-class.

    I believe that you will be able to "simply" move between the processor profiles. In my case I'm not really engaged in intensive programming chores so I cannot do it easily all the time.

Children
No data