RM5 | Cortex-M33 Implementation |
Exercise: | Create a standalone C application displaying data on a serial line |
Exercise: | Create assembly-level functions to implement simple algorithms |
Exercise: | Implement atomic variable manipulation using exclusive access instructions | |
Exercise: | Implement spinlocks |
Exercise: | Code assembly-language optimized data-processing algorithms |
Exercise: | Recode data-processing functions in C using intrinsics | |
Exercise: | Recode the same using CMSIS high-level data processing functions | |
Exercise: | Compare performance of the various implementations |
Exercise: | Enable the FPU and use it for simple floating point algorithms |
Exercise: | Measure stack usage of a program | |
Exercise: | Place a user-defined data structure at a fixed address |
Exercise: | Manage synchronous exceptions to simplify FPU usage | |
Exercise: | Manage the SVC exception to switch between user and privileged modes |
Exercise: | Handle a timer interrupt in C or assembly language | |
Exercise: | Manage interrupt masking and nesting between two interrupts |
Exercise: | Implement a minimal secure monitor |
Exercise: | Use the MPU to protect an area of memory against unintended access |