RTOS KEIL到GCC的转换
我在KEIL编译器下有一个FreeRTOS代码,一切正常。当我在GCC下将相同的代码转换为CooCox时,其中只有port.c等中asm代码的更改。它不起作用。它在函数RTOS KEIL到GCC的转换,gcc,arm,stm32,freertos,Gcc,Arm,Stm32,Freertos,我在KEIL编译器下有一个FreeRTOS代码,一切正常。当我在GCC下将相同的代码转换为CooCox时,其中只有port.c等中asm代码的更改。它不起作用。它在函数xPortStartScheduler()的debug中循环,其中prvportstartsfirsttask()转到Svc\u Handler,然后再转到xPortStartScheduler()等。我认为问题可能在向量或启动文件中的某个地方 在CooCox中,我找不到堆和堆栈初始化而不是Keil sturtup 有人有主意了吗
xPortStartScheduler()
的debug中循环,其中prvportstartsfirsttask()
转到Svc\u Handler
,然后再转到xPortStartScheduler()
等。我认为问题可能在向量或启动文件中的某个地方
在CooCox中,我找不到堆和堆栈初始化而不是Keil sturtup
有人有主意了吗?我是freeRTOS的新手,但是您可以通过向项目添加CMSIS引导组件在CooCox中找到启动文件。查看->存储库并添加CMSIS引导组件,以可视化CMSIS_引导/启动目录中的启动文件 通过重写导入的CooCox sturtup的向量表(其中未定义“vPortSVCHandler”)解决了该问题Hw dev Cz是的,我知道这一点,但当我使用原始的CooCox启动文件时,代码以硬错误处理程序错误结束。因为我使用的是来自KEIL的用于GCC的重写汇编代码。通过重写导入的CooCox sturtup的向量表(其中未定义“vPortSVCHandler”),问题得到了解决。