This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
吹扫码不打印0字符,但挂起:
#include #include #include #include #include #include #include Task_handle taskHandle; void taskFxn (UArga、UArgb){ System_printf ("taskFxn started.\n"); System_printf ("-%c-.\n"、0);//<<<<<<<<<<<<<<<<<<<<<<<< 此行不起作用。 System_printf ("taskFxn 退出。\n"); system_flush(); } int main() { /*调用驱动程序初始化函数*/ Board_init(); system_printf ("hello world\n"); Task_Params taskParams; ERROR_Block EB; /*配置包任务。 * Task_Params_init (&taskParams); ERROR_INIT (&EB); taskParams.STACKSIZE = 512; taskParams.priority = 3; taskHandle = Task_create (taskFxn、&taskParams、&EB); BIOS_start(); 返回(0); }
谢谢。
我看到 main()中正在发生损坏。 在.cfg 中将系统堆栈设置为512 (这会覆盖链接器命令文件设置)。 系统堆栈用于 main (然后在 BIOS_start 函数内用于 Hwi 和 Swi)。 Task_create 正在烧断堆栈、因为您在.cfg 中启用了 HeapTrack。 虽然调试工具很有用、但它会在分配内存时导致更多的堆栈使用。 我将系统堆栈大小增加到1024、并看到峰值为520。 因此、某处发生了一些损坏。
您是否可以增大系统堆栈大小或取消使用 HeapTrack、然后重试?
Todd