How to start the ARM Programming from scratch


Joined Feb 24, 2006
  1. Get a compiler.
  2. Write some small programs.
  3. Get the assembly listing from the compiler output.
  4. Decode the assembly language program that corresponds to the high level language program.
  5. Rinse, Repeat


Joined Oct 2, 2009
What experience do you already have programming any MCU?
Start with a simpler chip such as Atmel AVR or TI MSP430 before tackling ARM.


Joined Dec 16, 2017
It depends on your background but I recently started with ARM by getting an ST Nucleo board and using the STMCubeIDE Looking at a few tutorials and examples and it was quick and easy to do the basic things (flash LEDs, read buttons, serial comms).

The Nucleo boards have the programmers built in so no extra hardware needed (apart from a USB cable).

I have been programming in C for decades however, and done some basic embedded stuff with AVRs in asm and C so it was only ARM and the tools that were new to me. As was said above if you are completely new then a simpler system like the AVR might be a better starting point.


Joined Jul 29, 2018
The Arduino environment was my entry to ARM, although the it basically hides the CPU core from you. Nowadays CPU power and design tools make it almost unnecessary to be involved with the CPU core proper. But for ARM the Arduino IDE tool supports the Cortex-M3 via STM32 parts and the Cortex-M4 via the Teensy 3.x, as well as many others. PJRC provides for the 600MHz Cortex-M7 Teensy 4 under Arduino, if raw power is your goal.