Cortex M, IAR
embOS for Cortex M and IAR workbench V6 was developed for and with IAR's compiler version V6.10 and can be used with newer versions also.
embOS for Cortex M is fully CMSIS compliant.
embOS for Cortex M and the older IAR workbench V5 (available on request) was developed for and with IAR's compiler version V5.41 but can be used with other IAR V5.x compiler / workbench versions also.
embOS supports all memory models offered by the IAR compiler. It comes with easy to use start projects for IAR's embedded workbench. Initilization code for different Cortex M0, Cortex M3 and Cortex M4 starter boards is included. Software development with C-SPY simulator or C-SPY debugger 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 | 32 bytes |
| RAM usage per resource semaphore | 8 bytes |
| RAM usage per counting semaphore | 2 bytes |
| RAM usage per mailbox | 20 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 | 3.92 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 STM32F10X CPU running at 72MHz.
embOSView offers system analysis during runtime

embOS plugin for IAR Workbench
The new embOS Plugin for IAR Workbench allows embOS system analysis during debug sessions. The plugin shows system state, tasks, mailboxes, semaphores and software timer.

Available Emulators
- J-Link ARM
- ARM
Additional information
IAR Web site for additional compiler info / support
Board support packages
embOS comes with lots of ready to go start projects and support packages for various Cortex M0/M3/M4 CPUs and starterboards.
| CPU | Eval board |
|---|---|
| Atmel AT91SAM3S | Atmel AT91SAM3S_EK |
| Atmel AT91SAM3U | Atmel AT91SAM3U_EK |
| Energy Micro EFM32G890F128 | Energy Micro EFM32-G8X-STK |
| Energy Micro EFM32G290F128 | EFM32-G2XX-DK |
| Energy Micro EFM32G290F128 | EFM32-G8XX-DK |
| Energy Micro EFM32GG990F1024 | EFM32-GG990-DK |
| Freescale PK40X256VMD100 (Kinetis 40) | Freescale TWR SCH26547 |
| Freescale PK60N512VMD100 (Kinetis 60) | Freescale TWR-K60N512-KIT |
| Fujitsu MB9BF506 | IAR KSK-MB9Bf506 |
| Fujitsu MB9BF506 | Fujitsu SK-FM3-100PMC |
| Luminary LM3S9B96 | TI DK-LM3S9B96 |
| Luminary LM3S811 | Luminary DK-LM3S811 |
| Luminary LM3S1968 | Luminary LM3S1968 |
| Luminary LM3S6965 | Luminary LM3S6965 |
| Luminary LM3S8962 | Luminary LM3S8962 |
| NXP LPC1227FBD64 | IAR LPC122x-SK |
| NXP LPC1113 | NXP LPC1000 |
| NXP LPC1766FBD100 | Keil MCB2300 |
| NXP LPC1768 | Keil MCB1700 |
| NXP LPC1788 | Embedded Artists LPC1788-32 |
| NXP LPC1788 | Future Designs uEZGUI-1788-43WQS |
| NXP LPC1788 | IAR LPC178x-SK |
| ST STM32F407VG | STM32F4-Discovery (MB997A) |
| ST STM32F407VG | ST STM32F40G-Eval |
| ST STM32F100RB | STM32 Discovery |
| ST STM32F103VBT6 | ST STM32F10X-128K-EVAL (MB525) |
| ST STM32F103ZET6 | ST STM3210E-EVAL (MB672) |
| ST STM32F103B6 PROTO | STM32-SK |
| ST STM32F107VCT6 | ST MB784 |
| ST STM32F207ZGT6 | ST STM32F207ZG-SK |
| ST STM32F207IGH6 | ST STM3220G-EVAL (MB786) |
| ST STM32L152VB_SK | IAR STM32L152VB-SK |
| ST STM32LxB_MB819 | ST MB819 |
| Toshiba TMPM330 | IAR TMPM330-SK |
| Toshiba TMPM369 | Toshiba BMSKTOPASM369 |
Release notes for embOS Version 3.84c1 for Cortex-M and IAR compiler V6.x
- Tool chain used for build
- New features
- Improvements
- Program corrections
- Known problems/limitations
- Release history
- Miscellaneous
Tool chain used for build
The following tools have been used:
Compiler: IAR ICCARM 6.30.3.53228 Assembler: IAR IASMARM 6.30.3.53228 Librarian: IAR IARCHIVE 9.11.11.57 Workbench: IAR IARIDE 6.30.3.3241
New features
Version 3.84c
- New start project for the Hitex NXP LPC1850 eval board added.
- New start project for the IAR Fujitsu MB9BF618T SK eval board added.
- New start project for the Freescale Tower K70 eval board added.
- New start project for the Toshiba Topas TMPM369 eval board added.
- Update to latest embOS generic sources V3.84c.
Version 3.84.1
- embOS plugin for CSpy supports Cortex M4F
The new embOS IAR plugin version 6.0.6.7 delivered with embOS V3.84.1 now supports task sensitive call stack for Cortex M4 CPUs with floating point unit.
Previous versions of the plugin can be used, but did not show the task sensitive call stack.
Version 3.84
- Support for Cortex M4F with floating point unit added.
- New start project for the Energy Micro EFM32-GG990-DK eval board.
- New start project for the NXP LPC1788_EA eval board.
- New start project for the NXP LPC1788_uEZGUI eval board.
- New start project for the NXP LPC1788-SK eval board.
- New start project for the IAR STM32F207-SK eval board.
- New start project for the ST STM32F457IG-Eval eval board.
- New start project for the ST STM32F457IG-Discovery eval board.
- Update to latest embOS generic sources V3.84.
New generic features of the version 3.84 are described in the embOS generic release notes file Release_Generic.html
Version 3.82u
- New start project for the IAR STM32L152VB-SK eval board.
The embOS version 3.82u for IAR compiler V6 and Cortex-M now comes with start projects for the IAR STM32L152VB-SK eval board.
The sample project can be downloaded into the CPUs Flash using J-Link.
The sample project was built with the latest IAR workbench V6.20 and uses CMSIS. - Update to latest embOS generic sources V3.82u.
New features of the version 3.82u are described in the embOS generic release notes file Release_Generic.html
Version 3.82s
- Update to latest embOS generic sources V3.82s.
- New library mode DPL added.
- New start projects for STM32 devices added.
The embOS version 3.82s for IAR compiler V6 and Cortex-M now comes with start projects for STM32L cpu and STM32F100 cpu.
The sample projects run on ST STM32 MB819 and ST STM32 Discovery evalboard and can be downloaded into the CPUs Flash using J-Link. - New start projects for EFM32 devices added.
The embOS version 3.82s for IAR compiler V6 and Cortex-M now comes with start projects for G2XX and G8XX cpu module for EnergyMicro EFM32-G2XX-DK evalboard. - New start project for Fujitsu MB9BF506 SK FM3 100PMC evalboard.
The embOS version 3.82s for IAR compiler V6 and Cortex-M now comes with start project for Fujitsu MB9BF506 SK FM3 100PMC evalboard.
The sample projects can be downloaded into the CPUs Flash using J-Link.
Version 3.82m
- Support for Freescale Kinetis added.
The embOS version 3.82m for IAR compiler V6 and Cortex-M now comes with start projects for the Freescale Kinetis K40 and K60 CPUs.
The sample projects run on the Kinetis TWR starter kit boards and can be downloaded into the CPUs Flash using J-Link. - Support for EnergyMicro CPU added.
The embOS version 3.82m for IAR and Cortex-M now comes with a start project for the EnergyMicro EFM32 CPU.
The sample project runs on the EFM32-G8XX-STK starter board and can be downloaded into the CPUs Flash using the onboard J-Link. - Support for Cortex-M4 added.
Previous versions of embOS for Cortex-M could not be compiled when a Cortex-M4 CPUs was selected.
The embOS version 3.82m for IAR and Cortex-M now can be used with Cortex-M4 CPUs. - Support for embOSView via J-Link for Cortex-M0 added.
Previous versions of embOS for Cortex-M could not use J-Link with embOSview for Cortex-M0 CPUs. With embOS version 3.82m for IAR and Cortex-M J-Link can be used with embOSView on Cortex-M0 targets.
Version 3.82l
- Thread local storage supported.
embOS for Cortex-M and IAR compiler now supports the thread local storage implementation of the new IAR dlib V6. - Update to IAR Compiler / workbench V6
Version 3.82h1
- embOS Cortex-M3 and embOS Cortex-M0 are merged to embOS Cortex-M.
Version 3.82h
- Profiling with embOSView via J-Link
All embOS start projects and the embOS libraries were modified to allow communication with embOSView via J-Link.
The new embOSView version 3.82g allows selection of a communication to a Cortex M3 using J-Link with JTAG or SWD interface.
The communication to embOSView starts after the call of OS_Start() and can be used in parallel with a debugging session which uses J-Link as debugging probe. - Fully CMSIS compliant projects
All start projects of embOS for Cortex-M3 are now fully CMSIS compliant.
The projects come with new startup code and vector tables which are fully CMSIS compliant.
When CMSIS shall be used for the application, the chip specific CMSIS startup code and vector tables can be used.
CMSIS libraries of the chip vendor are not required to run embOS, embOS can be used as is. - Generic CMSIS project template
embOS for Cortex M3 now comes with a generic CMSIS compatible start project which runs on any Cortex M3 CPU.
To run the project on a specific chip, the startup code and the vector table may be replaced by the chip vendor specific versions of these files.
No modification on any embOS function or file is required. The vendor specific CMSIS files will guarantee that the embOS timer runs at expected rate of 1ms.
Version 3.82e2
- BSP for ATMEL AT91SAM3S added
embOS now comes with a start project for the AT91SAM3S which is prepared to run on the SAM3S-EK eval board.
The start project contains debug configurations for flash or RAM.
Both UART connectors of the board may be used for embOSView.
The project comes with new startup code and vector tables which are fully CMSIS compliant. - CMSIS compliant scheduler call implemented
The embOS scheduler function was renamed to be fully CMSIS compliant.
Target CPU specific CMSIS libraries may be used together with embOS now.
There is no need to modify the vector tables which come with the CMSIS libraries.
Version 3.82e1
- Projects for LPC176x updated.
The debugger configuration settings of previous versions caused some trouble when the target should be accessed with J-Link.
Version 3.82e
- CMSIS compliant project for STM32/MB672 added.
Version 3.82c
- BSP for TMPM330 added
- Profiling support added to STM32 MB784 eval bord BSP.
- Update to latest embOS generic sources V3.82c
- All projects have now remarks enabled
Version 3.80g3
- Project for AT91SAM3U runs with IAR flashloader
The embOS start project for the AT91SAM3U CPU was modified to run with the Flasherloader which comes with the latest IAR workbench (EW-ARM 5.40.
The flashloader can be used with any J-link version, but the project requires version 5.40 or later of the IAR workbench.
EW-ARM 5.40 is the first version that supports the AT91SAM3U.
Version 3.80g1
- Support for ST STM32F107 added
embOS version 3.80g1 comes with a ready to go start project for the ST32MF107 CPU.
The start project is prepared to run on the ST MB 784 eval board and supports flash programming using C-Spy and J-Link. - Support for IAR LPC1766-SK added
embOS version 3.80g1 comes with a ready to go start project for the IAR LPC1766-SK eval board.
The start project is prepared to run on the eval board and supports flash programming using C-Spy and J-Link.
The project is built for the workbench / compiler version 5.30 which delivers the flash loader for the LPC 1766.
Version 3.80g
- Scheduling optimized
Update to new embOS version 3.80 with optimized internal data structures to speed up scheduling and task switches.
The new embOS version requires the C-Spy plugin V3.80 or later. The plugin comes with embOS. - New embOS plugin with task sensitivity
embOS version 3.80g for Cortex M3 now comes with the new embOS IAR plugin V3.80.1 for C-Spy which supports task sensitivity for Cortex M3.
Task sensitivity is supported since embOS version 3.62c.
Previous versions of embOS for Cortex M3 can be used with the new plugin, but do not support the task sensitivity. - Support for ATMEL AT91SAM3U
embOS version 3.80g comes with a ready to go start project for the new ATMEL AT91SAM3U series.
Debugging and flash programming using C-Spy and J-Link is supported.
The latest version of J-Link software is required to allow programming of the AT91SAM3U. - Support for NXP LPC176x series
embOS version 3.80g comes with a ready to go start project for the new NXP LPC176x series.
The start project is prepared to run on the KEIL eval board and supports flash programming using C-Spy and J-Link.
The project is built for the workbench / compiler version 5.30 which delivers the flash loader for the LPC 1766.
Version 3.62
- Update to embOS sources 3.62
embOS comes with new features which are explained in the generic release notes and manual. - Update to new EWARM compiler version 5.20
embOS version 3.62 was built with the IAR compiler V5.20 and the start projects were updated to be used with the new workbench.
Version 3.60d
- Update to embOS sources 3.60d
embOS comes with several new features which are explained in the generic release notes and manual. - OS_POWER module implemented.
The OS_POWER module may be used to control different power saving modes when entering idle state.
Individual flags for different peripherals may be set whenever a peripheral needs power or clock, and may be reset, when power is not needed.
The state of the power flags may be examined during OS_Idle by a call of OS_POWER_GetMask().
This allows to switch off all of those peripherals which are not needed during idle times. - BSP for IAR STM-SK Eval board renamed to STM32F103_STM_SK.
BSP is now for IAR STM-SK only instead of IAR STM-SK and ST MB525. - BSP for ST MB525 Eval board added.
Start project and board support package for STM32F103 CPU and ST MB525 eval board added. - BSP for ST MB672 Eval board added.
Start project and board support package for STM32F103 CPU and ST MB672 eval board added.
Version 3.60a
- Update to embOS sources 3.60a
embOS comes with several new features which are explained in the generic release notes and manual.
Version 3.60
- IAR Embedded Workbench for ARM V5.11 compatibility
Source and project updates to be compatible with IAR Embedded Workbench for ARM V5.11.
Version 3.52c
- OS_SetTaskName() introduced
OS_SetTaskName() allows modification of task names on the fly.
This may be useful if the functionality of a task changes during runtime and the new state should be shown using embOSView or an other task visualisation tool.
Version 3.52a
- Luminary Micro LM3S1968 CPU support
Start project and board support package for LM3S1968 CPUs added. - Luminary Micro LM3S8962 CPU support
Start project and board support package for LM3S8962 CPUs added. - Task switch time can be measured by application
embOS now comes with sample applications which allow accurate measurement of task switch time in a running application.
Version 3.40c
- OS_Yield() may suspend a task unconditionally
When tasks are running on round robin with timeslice, the function OS_Yield() can be used to end the timeslice of the running task immediately and activate an other task with the same priority which is ready for execution. The function has no effect on tasks that are not running on round robin. - UART and PLL added
Uart and PLL initialization to BSP added.
Version 3.40a
- New BSP for STM32F10 added.
embOS now comes with board support package for STM32F10.
Version 3.40
- Task switch time can be measured by application
embOS now comes with sample applications which allow accurate measurement of task switch time in a running application. - Automatic call of OS_INIT_SYS_LOCKS() removed.
During initialization of embOS, OS_INIT_SYS_LOCK() is not called automatically.
As most of the applications do not need thread safe system libraries, an automatic activation of syslocks causes unwanted overhead.
If supported and required, the user may call OS_INIT_SYS_LOCKS() from his own application after normal initialization of embOS. - OS_TimerEx, Extended timer implemented
Extended timers are software timers which call a user defined callback function when the timer expires.
In comparison to normal embOS timers, a parameter is passed to the timer callback function.
The parameter value is initialized during timer creation.
Version 3.32j
- Initial version for Cortex M3
Improvements
Version 3.84.1
- Fully interruptible stack layout for OS_Idle()
The embOS stack management for Cortex M now uses the main stack as stack for OS_Idle which allows fully interruptible usage of the stack in OS_Idle(). The previous versions of embOS for Cortex M did not allow usage of the stack in OS_Idle().
Version 3.80g2
- Systick timer initialization modified
The SYSTICK timer is normally used as system timer for embOS. Previous versions of embOS for Cortex-M3 initialized the interrupt priority during the system initialization called from OS_InitKern().
Now the systick timer initialization is completely done during OS_InitHW() and can therefore be modified if required by the application.
By modification of OS_InitHW(), any peripheral timer may be used as system timer for embOS, leaving the systick timer untouched.
Version 3.80g1
- Code modified to avoid warnings
Some compile time switches were not predefined in some projects and therefore produced a warning when remarks were enabled.
This did not cause any problem, but might have been confusing.
Version 3.60
- IAR Embedded Workbench for ARM V5.11 compatibility
embOS for CM3 for IAR V511 is now compatible with IAR Embedded Workbench for ARM V5.11.
Version 3.52e
- All embOS variables located in one module.
All embOS variables are located in one module now. In previous versions of embOS, some module specific embOS variables were located in the module they were used for.
Version 3.52a
- Scheduler optimized
The embOS scheduler was optimized to reduce task switching time and interrupt latencies. - OS_Yield() now writes an entry into the trace buffer
When using the debug library with trace capabilities, OS_Yield() writes an entry into the trace buffer which shows the function call and the calling task.
embOSView version 3.40d is required to show this entry. - Task switch to OS_Idle() modified.
The call of OS_Idle() from OS_ChangeTask can be overwritten (inhibited) by defining the macro OS_IDLE() which is normally defined as OS_Idle().
This allows task switching via an exception for specific CPU/compiler versions. - Pointer comparison improved for fixed size memory pools (OS_MEMF module).
Some compiler produced wrong pointer comparison code in far memory model.
For specific CPU/compiler versions, the new OS_POINTER_TO_VALUE() function was introduced to deliver correct results in pointer comparison.
Version 3.40b
- Queue management improved.
For some CPUs, the buffer start address for Queues has to be aligned. Now embOS automatically corrects the alignment, if required.
Version 3.40a
- Counting semaphores improved.
Counting semaphores are now int values and an overflow will be caught, so that embOS runs into OS_Error().
Version 3.40
- Task switch time improved.
Scheduling optimized to improve task switch time. - Task switch time improved for task events.
Task event handling modified to improve task switch time for tasks waiting on events. - Interrupt latency improved.
During task switch, the time period when interrupts are disabled is reduced. - embOS timer tick handler improved.
The standard timer tick handler run faster now. The embOS internal time variable is incremented by 1 on every timer tick.
When different increments are required, the new timer tick handler OS_HandleTick_Ex(), OS_TickHandler_Ex() or OS_HandleTickDI_Ex() have to be used by application.
Different increments may be configured by a call of OS_CONFIG().
Version 3.32j
- NONE, initial version for Cortex M3.
Program corrections
Version 3.84c1
- Scheduling for Cortex M4 with VFP corrected.
The previous versions of embOS for Cortex M4 with VFP crashed when the VFP was activated and used by multiple tasks.
Initialization for VFP and scheduling was modified to fix the problem.
The problem existed on Cortex M4 applications with activated VFP only and is fixed with version 3.84c1 of embOS.
Version 3.84c
- OS_Start() corrected.
A hard fault exception could occur when an interrupt is executed after OS_Start() and before the scheduler runs for the first time.
Version 3.82m
- Queue management corrected.
Queue management failed when the Q-buffer was filled up to the end. This might have happened, when messages are produced faster then they were consumed.
The OS_Q_Purge() and OS_Q_Put() functions did not handle this case correctly and caused the queue to be corrupted.
OS_Error() might have been called with error number 143, or OS_Q_GetPtr() might have returned with a wrong message size or a message zize of 0.
The problem existed since version 3.82k of embOS and is fixed with version 3.82m.
Version 3.80h
- BSP for AT91SAM3U corrected.
The previous versions of the initialization code for the AT91SAM3U did not initialize the second Flash memory controller for devices with 256KB Flash.
This resulted in Flash read errors when the Flash memory in the second Flash bank was accessed.
Version 3.80g3
- Systick timer initialization corrected
The previous version V3.80g2 of embOS for Cortex-M3 still affected the SYSTICK timer settings during a call of OS_InitKern().
The Systick timer was disabled.
Now the systick timer initialization is completely done during OS_InitHW() and can therefore be modified if required by the application.
Version 3.52e1
- OS_TaskEx corrected
Parameter passing to OS_TaskEx did not work. A task always received a NULL pointer. The problem existed in all previous embOS versions for CM3 and is fixed with version 3.52e1.
Version 3.52e
- Interrupt table in RAM corrected
Variable interrupt table in RAM did not work correct.
Version 3.52b
- OS_SendString() corrected.
When sending an empty string, the calling task was suspended forever.
The problem existed in all previous embOS versions and is fixed with version 3.52b. - embOSView corrected.
When the update interval of embOSView was set to 200ms or a longer value, the reaction of user input or mouse events was blocked for the same time.
The problem existed since version 3.32 of embOSView and is fixed with version 3.52b.
Version 3.52a
- OS_Suspend() corrected
When using the debug library with trace capabilities, a call of OS_Suspend() wrote a wrong trace code into the trace buffer.
Instead of writing the code for task suspension, the code for task termination was written.
The function itself worked correctly, only the data written into the trace buffer was wrong.
The problem existed in all previous embOS versions and is fixed with version 3.40d.
Version 3.40
- OS_Unuse() corrected
OS_Unuse() must not be called from a task that does not claim the resource semaphore.
According to the documentation, the debug build of embOS should generate a call to OS_Error() if this fault happens.
All previous versions of embOS did not call OS_Error(). Now, OS_Error() will be called in that situation with error code 156: OS_ERR_RESOURCE_OWNER(). - OS_EVENT_Delete() corrected
OS_EVENT_Delete() did not work correctly. OS_LeaveRegion() was called inside the function without calling OS_EnterRegion() bfore.
In debug builds of embOS, the error handler OS_Error() was called with error 151 (OS_ERR_LEAVEREGION_BEFORE_ENTERREGION).
In release builds the system was blocked because the underflow of region count inhibits all further task switches, or system crashes, because incrementing the region count the next time allows task switches instead of blocking them. The problem existed in all previous versions and is fixed with version 3.32l. - Round-robin task switching corrected.
Round robin task switching did not work correctly in previous version. A task which was blocked for some reason could be activated. The system crashed during task switch.
The problem existed since version 3.32j and is fixed with version 3.32l. - Handler function _OS_OnTx() for serial communication to embOSView corrected.
The transmission handler for communication with embOSView might have sent incorrect data to embOSView, because internal control state was updated after sending the data.
The problem occurred on a new embOS port for a specific CPU only and is fixed with version 3.32k.
Version 3.32j
- NONE, initial version for Cortex M3.
Known problems/limitations
Version 3.32j
- NONE.
Release history
| Version | Release date | Short explanation |
| V3.84c1 | 03. Feb 2012 | Scheduling for Cortex M4 with VFP corrected. |
| V3.84c | 18. Jan 2012 | New start projects added. Update to latest embOS generic sources V3.84c OS_Start() corrected. |
| V3.84.1 | 04. Nov 2011 | Stack management improved, OS_Idle() may use stack. embOS plugin for Cortex M4 with VFP. |
| V3.84 | 27. Oct 2011 | Support for Cortex M4F with floating point unit added. New start projects for the EFM32 devices added. New start projects for the NXP devices added. New start projects for the STM32 devices added. Update to latest embOS generic sources V3.84 |
| V3.82u | 05. July 2011 | Update to latest embOS generic sources V3.82u New start project for IAR STM32L152BV-SK board. |
| V3.82s | 23. Mar 2011 | Update to latest embOS generic sources V3.82s New library mode DPL added. New start projects for STM32 devices added. New start projects for EFM32 devices added. New start project for Fujitsu device added. |
| V3.82m | 24. Nov 2010 | Freescale Kinetis supported. EnergyMicro supported. Queue handling corrected. |
| V3.82l | 25. Oct 2010 | Update to IAR compiler V6. |
| V3.82h1 | 21. July 2010 | embOS CM3 IAR now also supports Cortex M0. |
| V3.82h | 31. Mai 2010 | embOSView runs via J-Link. Fully CMSIS compliant |
| V3.82e2 | 10. Feb 2010 | CMSIS compliant BSP for AT91SAM3S added. |
| V3.82e1 | 29. Jan 2010 | Projects for LPC176x updated. |
| V3.82e | 28. Jan 2010 | CMSIS compliant project for STM32/MB672 added. |
| V3.82c | 10. Dec 2009 | BSP for TMPM330 added. Profiling support for MB784 added. Update to latest embOS generic sources V3.82c Remarks enabled for all projects |
| V3.80h | 06. Aug 2009 | BSP for AT91SAM3U corrected. |
| V3.80g3 | 14. Jul 2009 | Timer initialization modified. |
| V3.80g2 | 09. Jul 2009 | Timer initialization modified. |
| V3.80g1 | 09. Jul 2009 | ST STM32F107 supported. IAR LPC1766-SK supported. |
| V3.80g | 05. Jun 2009 | New embOS plugin supported New optimized embOS sources. |
| V3.62 | 01. Oct 2008 | Update to new embOS sources 3.62. Update to IAR compiler V5.20. |
| V3.60d | 05. Jun 2008 | Update to new embOS sources 3.60d. OS_POWER module implemented. BSP for IAR STM-SK split up into IAR STM-SK and ST MB525. BSP for ST MB672 eval board added. |
| V3.60a | 12. Mar 2008 | Update to embOS version 3.60a. |
| V3.60 | 11. Jan 2008 | Update to IAR compiler V5.11. |
| V3.52e1 | 21. Dec 2007 | OS_TaskEx corrected. |
| V3.52e | 29. Nov 2007 | New generic embOS sources. Interrupt table in RAM corrected. |
| V3.52a | 17. Sep 2007 | New BSPs for Luminary Micro LM3S1968 and LM3s8962 CPUs. Scheduler optimized. Task switch to OS_Idle() modified. |
| V3.40c | 28. Jun 2007 | OS_Yield() implemented. Uart and PLL for BSP/STM32F10 added. |
| V3.40a | 05. Jun 2007 | Counting semaphores improvement. BSP for STM32F10 added. |
| V3.40 | 24. May 2007 | New start projects for LM3S6965 and LM3S6965. New embOS sources 3.40. |
| V3.32j | 06. Jan 2007 | Initial version for Cortex M3 |
Miscellaneous
This document was first released with version 3.32j of the software.
Software released earlier is documented internally. This information is available at request.
Cortex M, IAR
