Cortex M, CodeSourcery

embOS for Cortex M was developed for and with Sourcery G++  compiler version 4.4.1 and supports all memory models offered by these compiler. It comes with easy to use make files. Initilization code for different Cortex M starter boards is included. Software development with with JTAG tools like J-Link ARM is possible.

Resources and performance data

Memory usage
Kernel size (ROM) approx. 1700 bytes
Kernel RAM usage 51 bytes
RAM usage per task control block 36 bytes
RAM usage per resource semaphore 16 bytes
RAM usage per counting semaphore 8 bytes
RAM usage per mailbox 24 bytes
RAM usage per software timer 20 bytes
RAM usage event 0 bytes
Min. stack-size per task (RAM) 72 bytes
Timing
Context switch time 5.5 usec
Interrupt latency time zero
Kernel CPU usage/TICK less than .2% of total calculation time at 1000 Interrupts/second (1ms TICK)
Basic time unit (TICK) typ. 1 ms, min. 20 µs (50 kHz interrupt frequency)
Features
Max. no. of tasks Unlimited (by available RAM only)
Max. no. of mailboxes unlimited (by available RAM only)
Max. no. of semaphores (resource/binary/counting) unlimited (by available RAM only)
Max. no. of software timers unlimited (by available RAM only)
Max. no. of priorities 255
Stack size idle task (RAM) 0(no memory needed)
Nested interrupts permitted
Task switches from within ISR possible

Absolute values given above were measured with embOS release build on an ST SMT32F10 CPU running at 72MHz.

embOSView offers system analysis during runtime

Available Emulators

Board support packages

embOS comes with lots of ready to go start projects and support packages for various Cortex M3 CPUs and starterboards.

CPU Eval board
ST STM32F103ZET6 ST STM3210E-EVAL(MB672)

 


 


Release notes

  1. Tool chain used for build
  2. New features
  3. Improvements
  4. Program corrections
  5. Known problems/limitations
  6. Release history
  7. Miscellaneous

Tool chain used for build

The following tools have been used:

Compiler:  arm-none-eabi-gcc V4.5.2
Assembler: arm-none-eabi-as  V2.20.51.20100809
Librarian: arm-none-eabi-ld  V2.20.51.20100809
Workbench: Sourcery_CodeBench_IDE_2011.03-66

New features

Version 3.82u1

  1. Makefiles and linker files updated.
    The start projects includes now linker files for RAM and Flash.

Version 3.82u

  1. Update to latest embOS generic sources.
  2. BSP for STM32F207_MB786 added.

Version 3.82g

  1. Initial version for Cortex M3.

Improvements

Version 3.82g

  1. NONE, initial version for Cortex M3.

Program corrections

Version 3.82u2

  1. The macro OS_EnterRegion() is replaced by the function OS_EnterRegion().
    The macro OS_EnterRegion() could fail when it is used with GCC and high optimization.

Version 3.82g

  1. NONE, initial version for Cortex M3.

Known problems/limitations

Version 3.82g

  1. NONE.

Release history

Version Release date Short explanation
V3.82u2 09. May 2012 Macro OS_EnterRegion() replaced by a function.
V3.82u1 14. July 2011 Makefiles and linker files updated.
V3.82u 11. July 2011 Update to latest embOS generic sources.
BSP for STM32F207_MB786 added.
V3.82g 12. May 2010 Initial version for Cortex M3

Miscellaneous

This document was first released with version 3.82g of the software.
Software released earlier is documented internally. This information is available at request.