I'm face a problem while trying to startup LM3S811 on qemu.
I have build and run Demo:CORTEXLM3S811GCC on qemu, what modification I've made is just removing all existing tasks and then creating one task which will print message periodically. But after vTaskStartScheduler run, there is no any message printed out.
xTaskCreate( vAliveTask, "Alive", configMINIMALSTACKSIZE, NULL, configMAX_PRIORITIES - 1, NULL );
218 static void vAliveTask( void *pvParameters )
221 OSRAMStringDraw("Start", 0, 0);
223 while (1)
226 OSRAMStringDraw("ALIVE ...", 0, 0);
227 vTaskDelay( 2000 / portTICKRATEMS );
$ qemu-system-arm -machine lm3s811evb -kernel gcc/RTOSDemo.axf
I have debugged this issue by gdb and found that xPortPendSVHandler has never been called, this means no context switch occurred. So my question is: did I miss any configurations or are there any mistakes I've made?
I'm afraid we cannot provide direct support for code running in emulators - we have no idea if your code will run in the emulator or not, especially when you are attempting to use the OSRAM display.
In this case, as you ask a specific question, I can only provide the same answer as if you were running on a real Cortex-M device, and that would be to ask if you are sure you have actually installed the FreeRTOS interrupt service routines correctly. See the "Note for Cortex-M users" section of the first FAQ on this page: http://www.freertos.org/FAQHelp.html