Search Results

Search results 1-10 of 10.

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

  • Hello Javier, We tried to reproduce the observed issues from 1. and 2. with embOS for Cortex-M and IAR V5.16.10, IAR EWARM 9.40.1 and the embOS plug-in V9.40.6.1, but everything worked fine for us. According to our registry your embOS license is within a valid support period. Thus we will contact you via email to discuss further steps on how to find the root cause for the observed issues. Best regards, Michael

  • Hello Javier, Regarding 1. and 2.: Which version of the embOS plug-in for IAR Embedded Workbench are you using? If it is older than version 9.40.6.1, please download the newest version from our website and check if this fixes the observed issues. segger.com/products/rtos/embos…s/iar-embedded-workbench/ Regarding 3.: We're not aware of any issue with OS_HEAP_malloc() in embOS for ARM V5.16.1.x. If OS_Error() is called with error code OS_ERR_INIT_NOT_CALLED (165) it means that OS_HEAP_malloc() has…

  • Hello Loic, since you've opened an embOS support ticket, I will close this thread for now and continue the support using the support ticket system. Best regards, Michael

  • Hi Loic, Sorry for the late reply. I am not familiar with the DMA/SPI of the iMXRT1170 but I assume that the communication via SPI should be observable with the logic analyzer as soon as LPSPI_MasterTransferEDMA() is called in line 122, correct? That means the actual issue is that the DMA/SPI transfer is not started, and not that the DMA/SPI transfer completed interrupt is not occurring, correct? However, with embOS peripherals can be used the same way as without an OS. Thus, it should work the …

  • With Embedded Studio, memcpy() is reentrant and thus does not need any further handling to make it thread-safe. However, if the same memory block is used by multiple tasks, operations on this memory block should still be guarded by mutexes, semaphores or readers-writer locks. Does this answer your questions? Please let me know if I can be of any further help. Best regards, Michael Mleczko

  • Dear Peter, memcpy() is not part of embOS but is provided by the used C standard library implementation. Which compiler or C standard library implementation are you using? If memcpy() should not be thread-safe or reentrant for your C standard library: Our embOS ports usually support thread-safety if the used compiler and standard library provide the possibility to implement thread-safety. For further information, please take a look into the chapter "CPU and compiler specifics" of the port specif…

  • Hello ndongre, May I ask for the reason why you want to check a tasks state? The values of the task states are not described in the manual as we prohibit the use of embOS internal variables. Please note that embOS internal variables and structures as well as their meaning can change among different embOS versions and in new releases. In embOS V506 following defines are used for OS_STAT: C Source Code (33 lines)Best regards, Michael Mleczko

  • Hello kkmspb, great to hear it's working now. Just as a clarification: We're renaming some API functions to prevent incompatible setups. "OS_CPU_HAS_VFP" depends on the architecture/core options passed to the compiler and renames the OS_InitKern() (OS_Init() in V5) function, while the OS_LIBMODE_* definitions rename the OS_CreateTask() (OS_TASK_Create() in V5) to ensure the compatibility to the linked embOS library. If no OS_LIBMODE_* definition is set by the user, OS_LIBMODE_DP will be used by …

  • Hello Damien, Unfortunately, we don't have a sample for the EFM32. However, the embOS manual (chapter 15.3: Tickless support) contains instructions on how to implement the tickless mode. If you need further help on implementing tickless mode, you can contact us directly via mail (support_embos@segger.com) or by using our ticket system (segger.com/support/technical-support/). Best regards, Michael Mleczko

  • Hello PTepe, Yes, OS_GetTime32()'s return type is a signed 32 bit integer. However, the signed/unsigned is just how the binary value is interpreted, and doesn't change it's binary representation. Therefore, if the overflow from ((2^31) - 1) to (2^31) occurs, the binary value continues counting upwards from (2^31) up to ((2^32) - 1). Best regards, Michael