Search Results

Search results 1-20 of 26.

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

  • We are sorry, there is no command available to modify the interface configuration when using using batch mode or ASCII mode.

  • Hello, you must not change any definition in RTOS.h. Any changes in RTOS.h may cause malfunction and don't deliver the expected result as long as you work with embOS libraries. To use the trace capabilities of embOS, you have to use the "Debug and Trace" library of embOS. To do so, define "OS_LIBMODE_DT" as a project option, and/or modify the OS_Config.h file to select the debug and trace library as default for your project. The debug and trace library delivers all functions needed for API traci…

  • Hello, sorry for the late reply. For ST9 access, we use 4 different RAMCODEs. One for blank check, one for programming, one for erasure and one for reading the device. We use the same RAMCODEs for all devices (120, 124, 150 and 250). We never had problems with this. I verified the function with two of my application boards today, one equipped with an ST92F120V1Q7, one with an 92F250CV2Q3. All functions of Flasher worked without any problem on both boards. We are not aware that anything may have …

  • Hi, the error OS_ERR_CPU_STATE_ISR_ILLEGAL is shown when an embOS function is called from an ISR running at high priority. ISRs may call embOS functions as long as the ISR is running on priority levels from 0xFF down to 0x80. Please read the CPU specific embOS manual about interrupt priorites. You may use the CPU libraries to set up the GPIO interrupt, but you have to set the priority also. Try IntPrioritySet() with a priority from 0xFF down to 0x80 before enabling the GPIO interrupt. Regards, A…

  • As long as Flasher communicates with the Flasher PC program, a firmware downgrade should be possible by menu "Option -> Download Firmware". When the Flasher does not communicate with the Flasher program, you need a special bootloader-software to re-program the Flasher. In this case, contact segger at support_flasher@segger.com to get the bootloader application HexLoad and an instruction how to use it. Please name the serial number of your Flasher to get the correct instruction for your Flasher. …

  • Hi, the current version of embOS for Cortex M and IAR is version 3.82s. All updates to all customers under support should have been shipped beginning of April 2011. If you did not receive this version, please contact our support. The current shipment of embOS contains a version for the IAR workbench V5 as well as a complete shipment for the workbench V6. The embOS version for EWARM V6 was based on the workbench version 6.10, because lots of our customers did not switch to the latest version V6.2…

  • Hi, the current embOS projects are based on the EWARM V6.10 as lots of our customers still use the older workbench. Since version 6.10, CMSIS support is integrated in the IAR workbench, but produces some warnings and remarks, when compiling the projects. Therefore, we decided not to use the integrated CMSIS support and delivered all CMSIS files with our projects. Switching to EWARM V6.20 requires the usage of the integrated CMSIS support. How to switch the CMSIS based projects to EWARM V6.20 is …

  • embOS with NIOS II

    SEGGER - Armin - - embOS related

    Post

    Hello, we analyzed the problem and found, that the description and the OS_Config.h file delivered with the embOS trial version and shipment do not work when used with the latest NIOS software build tools when used as described in the embOS manual. The DEBUG definition in the makefile of the application does not affect the compilation of the BSP. In combination with the OS_Config.h file delivered with embOS, this results in inconsistent embOS library modes for the BSP and application. This error …

  • CSTACK filled error

    SEGGER - Armin - - embOS related

    Post

    Hello, I am afraid, you can not use the embOS version 3.28 with your current IAR compiler. IAR modified the calling convention with IAR compiler 3.21A. The parameter passing was changed and OS_CreateTask() fails, because it gets wrong parameter. Unfortunately, IAR did not add a precaution which inhibts older libraries compiled with previous calling convention from being linked. The embOS version 3.28 can be used with IAR compiler 3.20A or an older version. Newer versions of the IAR compiler requ…

  • Hello, terminating a task by a call of OS_Terminate() should release all "waitable" objects the task is waiting at. The wait list of the semaphore should be empty after termination of the waiting task. I verified this by a simple modification of our "Start2Tasks" sample from embOS: static OS_CSEMA _CSema; static void HPTask(void) { OS_CreateCSema(&_CSema, 0); while (1) { OS_WaitCSema(&_CSema); OS_Delay (10); } } static void LPTask(void) { unsigned char RunFirst; RunFirst = 1; while (1) { if (Run…

  • The problem is caused by the function __low_level_init() which we placed into the RTOSInit file. This function is the first one called by the startup code, before any segments are initialized and before any code is copied into RAM. Therefore, the function has to be located in ROM. Unfortunately, the linker places the whole RTOSInit module into ROM, not only the __low_level_init() function and the other functions called from there. You might do the following: 1. Rename the function __low_level_in…

  • Hi, emWin does not allocate dynamic memory from the heap. A heap is not required and malloc() is not used. emWin comes with it's own memory management module. The "dynamic" memory used by emWin can be configured using the GUI_ALLOC_* functions. In our samples, we use the GUI_X_Init() function to allocate the memory: #define GUI_NUMBYTES 0x100000 #define GUI_BLOCKSIZE 128 void GUI_X_Config(void) { static U32 aMemory[GUI_NUMBYTES >> 2]; GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES); GUI_ALLOC_SetA…

  • Hi, I looked into the problem and tried to reproduce it. There are two problems. 1. By converting the project, the target CPU specific setting got lost and an "M32C generic" is selected as device. This causes the error meesage, that the "__orderinterrupt()" could not be executed, because there is no device deescription file selected for a generic device. 2. The CSPY simulation macro does not work, because the simulated interrupt is held pending indefinitly. From time to time, the definition of p…

  • Hi, sorry for the late reply. The problem is caused by the plugin version 1.00.d which came with the IAR embedded workbench and an embOS version which was built later. Some time ago, IAR added a stack check plugin which filled the CSTACK and IRQ_STACK with a special character. embOS came with its own stack check using a different character. Newer embOS versions now use the same character as IAR do, even though, the IAR stack check plugin should be disabled when debugging embOS. The embOS plugin …

  • Hi David, there is no problem to use allocated memory for tasks and task stack. But doing so, you can not use the macro OS_CREATETASK() to create your task. You have to use the function OS_CreateTask(). During task creation, the stack size has to be known and has to be passed to the OS_CreateTask() function as parameter. The macro OS_CREATETASK() only works with data structures of known size as parameter for the stack. It translates the passed parameter "stack" to sizeof(stack) as stack size. In…

  • Sorry, Flasher was built for Renesas CPUs and ST ST9. It can not be used with TI M430.

  • Quote from mfarnet: “Well - I fixed it, but not with an interrupt, but rather by polling the CSR in the idle loop. void OS_Idle(void) { // Idle loop: No task is ready to exec char c; while (1) { if ((_USART1_CSR & 0x00000001) != 0) { c = _USART1_RHR; On485Rx(c); } } } So, my code is working, I'm just lacking the proper bit to have the hardware generate the interrupt. Help please.” Hello, Polling the UART during OS_Idle() this way is no good idea. As OS_Idle() is no task, local variables may got …

  • It might be confusing, but everything is correct with stacks. Using IAR, there are two stacks which have to be declared in the linker script file. CSTACK is the system stack. IRQ_STACK is the interrupt stack. The CSTACK is used during startup, during main(), or embOS internal functions, and for C-level interrupt handler. The IRQ_STACK is used when an exception is triggered. The exception handler saves some registers and then performs a mode switch which then uses the CSTACK as stack for further …

  • Hi, No problem, you may use local variables to pass data via mailbox. The mailbox stores the data and not the pointer to the data. When calling OS_PutMail(), the data which is pointed to by the data pointer is copied into the mailbox buffer, before the OS_PutMail() function is left. Regards, Armin

  • Hi, the UART for embOSView uses the USART Baud Rate Generator Register CD value to generate the baudrate for communication. The clock source for the baudrate generator is the system clock divided by 16. Using 4.608 MHz as system clock results in a calculated baudrate register value of 7.5 for 38400 baud, which is truncated to 7. A value of 7 generates a real baudrate of 41.1 kbaud which is about 7% above the nominal baudrate. The frequency error is to big to allow UART communication. You may red…