This course delves into software development topics such as working with Arm C/C++ compilers and Arm debug tools to optimize your software, whether it's for performance or code size. This course also looks more closely at the Common Microcontroller Software Interface Standard and how it helps ensure that software targeted at Cortex-M devices can be written using a consistent approach.
Overview
Syllabus
- Course Introduction
- This course delves into software development topics such as working with Arm C/C++ compilers and Arm debug tools to optimize your software, whether it's for performance or code size. This course also looks more closely at the Common Microcontroller Software Interface Standard and how it helps ensure that software targeted at Cortex-M devices can be written using a consistent approach.This module describes the essential compiler and linker options required in order to develop applications targeted at different Arm embedded systems. The presentation includes information about Arm Compiler for Embedded and the GNU toolchain.
- Compiler & Linker Fundamentals
- Debug & Trace
- This module describes the debug and trace features available in the Armv8-M Mainline architecture.
- Booting & Initialisation
- The Booting and Initialization module takes you through essential startup code that can ensure that the processor and system are configured and initialised appropriately before the 'main' function is reached in the C program.
- Cortex-M Walkthrough
- This module introduces Tarmac trace from Fast Models, and uses that to walk through everything a Cortex-M3 device would do if used with CMSIS code from Reset to the main() function, to triggering an interrupt using the NVIC. Although the module is related to a Cortex-M3 device, the details presented also apply to any Armv7-M / Armv8-M device, acting as a recap of all the content covered in this M-profile course.
Taught by
Yang Song, Shirley Zou, Edmund Player, Walker Huang, Salman Arif and Nick Tompkins