
7
Table of contents
1 Using embOS ................................................................................................................9
1.1 Installation .................................................................................................. 10
1.2 First Steps .................................................................................................. 11
1.3 The example application OS_StartLEDBlink.c ................................................... 12
1.4 Stepping through the sample application .........................................................13
2 Build your own application ..........................................................................................17
2.1 Introduction .................................................................................................18
2.2 Required files for an embOS ..........................................................................18
2.3 Change library mode .................................................................................... 18
2.4 Select another CPU ...................................................................................... 18
3 Libraries .......................................................................................................................19
3.1 Naming conventions for prebuilt libraries ........................................................ 20
4 CPU and compiler specifics ........................................................................................21
4.1 Standard system libraries ..............................................................................22
4.2 Thread-safe system libraries ..........................................................................22
4.3 Thread-Local Storage TLS ............................................................................. 24
4.4 ARM erratum 837070 ................................................................................... 26
5 Stacks ......................................................................................................................... 27
5.1 Task stack for Cortex-M ................................................................................ 28
5.2 System stack for Cortex-M ............................................................................28
5.3 Interrupt stack for Cortex-M ..........................................................................28
6 Interrupts .....................................................................................................................29
6.1 What happens when an interrupt occurs? ........................................................30
6.2 Defining interrupt handlers in C ..................................................................... 30
6.3 Interrupt vector table ................................................................................... 30
6.4 Interrupt-stack switching .............................................................................. 31
6.5 Zero latency interrupts ................................................................................. 31
6.6 Interrupt priorities ........................................................................................31
6.7 Interrupt nesting ..........................................................................................32
6.8 Interrupt handling API .................................................................................. 34
7 CMSIS .........................................................................................................................39
7.1 The generic CMSIS start project .................................................................... 40
embOS-MPU for Cortex-M and IAR © 2010-2020 SEGGER Microcontroller GmbH