我在KEIL编译器下有一个FreeRTOS代码,一切正常。当我在GCC下将相同的代码转换为CooCox时,其中只有port.c中的asm代码的更改等。它不起作用。它在函数xPortStartScheduler()
中进行调试循环,其中prvPortStartFirstTask()
转到Svc_Handler
,再转到xPortStartScheduler()
等。我认为问题可能出现在向量或启动文件中。
在CooCox中,我无法找到堆和堆栈初始化而不是Keil sturtup。
有人有想法吗?
答案 0 :(得分:0)
我是freeRTOS的新手,但您可以通过将CMSIS启动组件添加到项目中来在CooCox中找到启动文件。 View->存储库并添加CMSIS启动组件以可视化cmsis_boot / startup目录中的启动文件。
答案 1 :(得分:0)
通过重写导入的CooCox sturtup的矢量表来解决问题,其中" vPortSVCHandler"没有定义。 - Hw-dev Cz