Search Results

Search results 1-20 of 74.

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Hello, Quote from vadymsodolevsky: “In Generic CMSIS project in ReadMe.txt Supported hardware is: "The sample project for CMSIS should run on any Cortex M3 core." Can the project be used with M4? What is limitation or required changes to use it with Cortex M4? ” Are you, by any chance, referring to the Generic CMSIS project contained in embOS for Cortex-M and IAR? In that case, the project may also be used with Cortex-M4, of course. From an RTOS perspective, M3 and M4 don't differ much except fo…

  • Hello, Quote from jrhammel: “I have been able to use SystemView in IAR's debug mode but when in release mode it does not work. Is there a way to get this to work in release mode? Thanks ” I assume you're still working with embOS for Cortex-M and IAR, am I correct? In that case, please be aware that embOS itself does not generate SystemView events in release builds, but in profiling builds only (i.e. "debug & profiling", "debug & trace", or "stack check & profiling"). Furthermore, our BSPs are co…

  • Hi vadymsodolevsky, Quote from vadymsodolevsky: “What is the easiest way to use embOS with NRF soft device? I see 2 options: 1. Use as the base the embOS IAR project (with the 3 changes), remapping the application, add BLE component to work with SoftDevice? 2. Use the NRF SDK, add embOS as SW library and adopt the project to work with it in the same way as FreeRTOS works? (currently chosen) ” Both options would work, of course. However, option 2) probably is more easy to perform, since integrati…

  • Dear vadymsodolevsky, Thank you for your inquiry. Quote from vadymsodolevsky: “1. Does somebody tested the embOS with Ble(SOFT DEVICE) and with System Core Clock? 2. Do you have example or somebody else implemented for "app_timer" for Nordic SDK (API between BLE and OS timers)? 3. Do you have some tips for me about the porting to NRF? May be I didn't found in forum the porting sequence from somebody else? ” After receiving some customer requests on this topic, we've performed several tests some …

  • Hello Enes, Thanks for your inquiry. embOS spinlocks are typically implemented in assembler using atomic instructions specific to the architecture in use. For architectures that do not support appropriate atomic instructions, however, we also offer another implementation that's completely written in "C". For the latter, we've implemented the well-known "Lamport's bakery algorithm" (refer to research.microsoft.com/en-us/u…e/lamport/pubs/bakery.pdf for more information). Of course, both implementa…

  • Hi Bhu, Thank you for your inquiry. Please be aware, however, that interrupt simulation with IAR's Embedded Workbench is not covered by the embOS support, but would need to be discussed with IAR instead. Hence I'm afraid I can be of limited help on this only. Still, please consider the following: embOS 4.24 for RX and IAR (as well as later versions) includes a dedicated IAR simulator project at {ROOT_DIR}\Start\BoardSupport\IAR_Simulator\. That project comes with specific macro file to simulate …

  • Hi Kees, As Nino explained, embOS v3.62 would need to be instrumented for using SystemView on it, which may only be done when having access to the source code. However, if you're interested in CPU load exclusively, there might be an alternative that was available in v3.62 already: embOSView. embOSView displays the CPU load per task and thus could be used as an indicator on whether you're exceeding the devices capacities. For more information on embOSView, please refer to the generic embOS manual…

  • Hi Shinkyu, Quote from shinkyu.park: “Hi Martin, Thank you for your detailed explanation. How can I contact you if there is anything more to discuss about this? Best Regards, Shinkyu Park ” You're welcome! Our official support email address is support_embOS@segger.com. Alternatively, you may also use our ticket system at segger.com/ticket. Best regards, Martin

  • Hi Shinkyu, Thanks for your inquiry! Quote from shinkyu.park: “When I change the period of Timer as 500us, tick interrupt is generated in every 500us.But timer related APIs are not work properly. When I call OS_Delay(1000), it expires after 500ms. ” This actually is expected behavior. OS_Delay() [or OS_TASK_Delay() as it's called in recent versions] doesn't take milliseconds as a parameter, but system ticks. Therefore, by doubling the system tick interrupt's frequency, all delays will expire twi…

  • Glad you're up and running again! We'll consider this thread closed now. Best regards, Martin

  • Hello, While we're not aware of any issues regarding OS_TICK_Handle(), we'd of course like to help you in finding the cause for the observed behavior. Generally speaking, OS_ERR_ILLEGAL_OUT_ISR is indicated whenever embOS assumes that an API function that may only be called from an ISR was called from a context that is not an ISR. This is done by checking the variable OS_Global.InInt, which should have been incremented before by calling either OS_EnterNestableInterrupt() or OS_EnterInterrupt(). …

  • Hi Bar, Quote from Bar: “Do you see why this could happen? ” OS_ERR_INV_TASK indicates that the task was not created before, or else that the task's control block was overwritten by the application after it was created. Hence, could you please double-check that the task was actually created before the event gets signaled? Also, if it was created before, could you check wether the member "Id" of the respective task's control block holds the value "0x0Fu" at all times after creating that task? Quo…

  • Hello bar, Thanks for your inquiry. With embOS, there's several options to perform periodic jobs within your application. The most appropriate typically are the embOS software timers: C Source Code (13 lines) If for some reason timers can't be used for the intended purpose (e.g. when specific API functions can't be used with software timers), another option is to make tasks periodic by calling OS_TASK_DelayUntil(): C Source Code (20 lines)Alternatively, you may of course use a hardware timer as …

  • Hello kkmspb, It seems you're increasing the stack size for one task. However, you'd need to increase the System Stack size instead. This can be done in the project options under "Code -> Runtime Memory Area -> Main Stack Size". Best regards, Martin

  • Hi Ran, Thanks for your inquiry. Unfortunately, we currently do not offer further reference implementations for other devices. However, since adapting the provided sample code for other devices basically is just exchanging one hardware timer for another, doing so shouldn't cause much trouble. Still, in case you unexpectedly encounter any problems while adapting our code for your chosen device, please feel free to contact us with a detailed problem description - we will then gladly assist you whe…

  • Hello kkmspb, OS_ERR_SYS_STACK indicates an overflow of the System Stack. Can you increase the stack size and repeat your test? Does the issue persist? The reason the application "works" in release is that embOS will not perform stack checking in release configurations. Thus it will not call OS_Error(). But the stack could still have overflown in release as well, which may still result in a faulty application. Hence, we typically advise to develop in debug configurations and move to release only…

  • The reported issue was resolved via our support ticket system. This thread will therefore be closed now.

  • Hi Bar, When OS_MAILBOX_Put() results in a call to OS_Error(), that indicates that the mailbox structure passed as parameter was not previously initialized by a call to OS_MAILBOX_Create(). The error code in that case should be OS_ERR_INV_MAILBOX. Can you confirm this is the error code you're facing as well? If so, it seems "MyMailbox" was declared twice, which in turn would indicate that the extern declaration was implemented erroneously. You may check if MyMailbox was declared twice by searchi…

  • Hi Bar, Just add it to the project options as shown below: forum.segger.com/index.php/Att…cc5a0803e7976994729432f1b Best regards, Martin

  • Hi Bar, Thanks for your inquiry. Investigation of task states, semaphores, mutexes, etc. is possible with the embOS plug-in for Embedded Studio. All projects shipped by us will by default use that plug-in. It also is described in more detail inside the embOS manual UM01061_embOS_CortexM_ES.pdf (Chapter 10, "embOS Thread Script"), which is part your shipment as well, or alternatively, also is available online. Please let me know if I can be of any further help. Best regards, Martin