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.

关于基于CCS平台的将ucosII移植到F28M35的M3内核中出现的一些问题

最近在移植ucosII,移植的过程中发现了一些问题,整个工程没有语法错误,但是功能实现不了,下面是截图

这是我的主程序,只创建了个起始任务,有几个函数我不是很懂,第一个关保护的宏,为什么要关那个,我记得stm32的代码中没有这个东西啊

第二个设置中断向量的函数,stm32的启动文件的中断向量表里直接把中断函数的名称也就是中断服务函数地址放在表里,这样发生中断时可以直接由NVIC帮助定位到中断向量表,然后进入中断向量表中对应的服务函数,而这里的启动文件的中断向量表除了几个(还不是全部,比如pendsv中断)内核中断,其他什么都没有,而我移植操作系统需要的就是pendsv这个中断,所以我在主程序里(如上图),加了个 IntRegister(FAULT_PENDSV, PendSV_Handler);这个函数,以便当PendSV_Handler这个中断被触发时进入PendSV_Handler这个汇编函数,不知道这样做行不行,汇编函数的头文件已经被包含到启动文件中去了。下面是启动文件和汇编文件中的PendSV_Handler函数截图,还有,不知道我PendSV_Handler函数的书写格式是否正确,下面的PendSV_Handler_Nosave上面是否需要加.asmfunc这个名称

下面是我单步运行的结果,进入到OSStart();函数中后查找最高优先级,是10,跟开始设置的优先级是一样的,说明到这步没错

单步运行进入到OSStartHighRdy();函数中,看对应的寄存器的值然后程序停在 B       OSStartHang  这个地方等待

下面是在os_cpu_a.asm文件中的PendSV_Handler:函数的随便一句打个断点,然后点resume按钮全速运行,结果如下图

出现错误,PendSV_Handler:函数进入不了(IntRegister(FAULT_PENDSV, PendSV_Handler)中的PendSV_Handler函数名和汇编文件中的PendSV_Handler函数名称是一样的),按照提示,按板子上的复位按钮RST,重新操作,依然如此,到此无法继续进行下去,求助!!!求助!!!求助!!!求助!!!求助!!!求助!!!求助!!!求助!!!最近被这东西搞的焦头烂额