Wednesday, May 23rd 2018, 10:41am UTC+2

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to SEGGER Forum. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.



Date of registration: Nov 24th 2009

Posts: 2


Tuesday, November 24th 2009, 2:26pm

ARM Cortex M3 with embOS and Nested vectored interrupt's


I'm using embOS V3.60d with the IAR Workbench for my STM32 controller.

In my interrupt routine i would like to call the function OS_SignalEvent(0x01, &m_xyTcb).
What is to consider if an OS-function is called from a nested interrupt? A simple example
would help me.




Date of registration: Sep 30th 2009

Posts: 27


Wednesday, November 25th 2009, 1:13am

The embos_cm3_iar.pdf file has the documentation for this (if you're using something other than IAR tools I assume that there's a similarly named document that has the details for your particular platform). There are 2 key items:

1) embOS (at least in a default build) does not disable interrupts with a priority higher than 128 (ie., interrupt levels 0-127 are never disabled). Those so-called "fast interrupts" cannot make any embOS API calls. So make sure your interrupt that you want to call OS_SignalEvent() from is in the correct interrupt level range.

2) On entry to the interrupt handler a call must be made to OS_EnterInterrupt()/OS_EnterNestableInterupt() and on leaving the interrupt a corresponding call to OS_LeaveInterrupt()/OS_LeaveNestableInterrupt() must be made.

Similar threads