About this Learning Path

Who is this for?

This is an introductory topic for software developers interested in efficiently programming microcontrollers with C/Assembly.

What will you learn?

Upon completion of this learning path, you will be able to:

  • Write a mixed C program and assembly language subroutines for the microcontroller. 
  • Call the subroutines written in assembly in a C function. 
  • Use Arm register calling conventions when writing subroutines in assembly language. 
  • Use a suitable debugging tool to view and analyse the processor state. 


Before starting, you will need the following:

  • A Windows machine
  • Some familiarity with C/Assembly
  • Installed Keil MDK IDE
  • Have an STM32 Nucleo F401RE development board