os_idle_demon Underflow on LPC3250

I am developing with uVision 4.0 for LPC3250 target on Windows XP. The platform is the Phycore phy3250 board. I have compiled and successfully executed code from Keil's RTX_Blinky example and Phycore's uart_example. Although the latter was tested with uVision 3.0, the project file was converted to 4.0 format by the IDE automatically. Since Keil did not have an example that used a UART (and other reasons), I integrated RTX_Blinky functionality with the uart_example project from Phycore. However, when I pull up the OS Support->RTX Kernel window, only the os_idle_demon task shows up with stack usage of "Underflow." The program works fine as I added ADC functionality with serial output twice per second. Any ideas?

Parents
  • The RTX_Blinky example from Keil and the uart_example from Phycore use different startup code. I knew that, of course, but as I studied the differences closer, I noticed that the startup code in RTX_Blinky enters the User Mode before calling main, while the uart_example startup code enters the Supervisor Mode before calling the C entry point. When I re-ordered the stack pointer setup sequence in the uart_example startup code to set the system stack last, then the Active Tasks window shows the correct tasks and the correct stack load for each.

Reply
  • The RTX_Blinky example from Keil and the uart_example from Phycore use different startup code. I knew that, of course, but as I studied the differences closer, I noticed that the startup code in RTX_Blinky enters the User Mode before calling main, while the uart_example startup code enters the Supervisor Mode before calling the C entry point. When I re-ordered the stack pointer setup sequence in the uart_example startup code to set the system stack last, then the Active Tasks window shows the correct tasks and the correct stack load for each.

Children
More questions in this forum