I am working on getting the TI-RTOS running on the TM4C129x development board and am having trouble getting the LED heartbeat to work properly. I am using IAR Embedded Workbench IDE. When I download and debug, the heartBeatFxn never gets run. Per the config file this should be getting called every 1000ms. I was messing around with breakpoints and commenting out some code and realized it has to do with System_flush().
int main(void)
{
/* Call board init functions. */
Board_initGeneral();
// Board_initEMAC();
Board_initGPIO();
// Board_initI2C();
// Board_initSDSPI();
// Board_initSPI();
// Board_initUART();
// Board_initUSB(Board_USBDEVICE);
// Board_initUSBMSCHFatFs();
// Board_initWatchdog();
/* Turn on user LED */
GPIO_write(Board_LED0, Board_LED_ON);
System_printf("Starting the example\nSystem provider is set to SysMin. "
"Halt the target to view any SysMin contents in ROV.\n");
/* SysMin will only print to the console when you call flush or exit */
System_flush();
/* Start BIOS */
BIOS_start();
return (0);
}
When I comment out System_flush(), the code seems to run properly and the LED blinks at 1 second interval. I have not found much information on System_flush(). What would be the reason for this blocking the function call and how can I work around this in the future?