本帖最后由 jingjunlai 于 2019-1-16 14:18 编辑
我从UCOS官网里面下载了STM32F429的UCOSIII源码进行移植,把必要的CONFIG,LIB, PORTS, SOURCE文件都无修改复制过来。
唯一修改的就是bsp.c文件,因为ST的RCC库函数和GD的RCU库函数不对应,下面这个函数做了修改。
然后就是常规的把startup_gd32f4xx.s里面的所有的PENSV和SYSTICK改成OS的,原本的中断回调函数注释掉,调试时候2个中断都能进入,PASS。
然后就是main函数直接初始化
时钟配置在启动文件里面已经干了,就是用了PLL,设了200MHZ,所以就没有再用BSP_init(),调试时候发现2个问题:
1.在调用OSStart后IAR警告CSTACK超出边界,网上有人说这是IAR正常警告,可以不管。
2.在进入这个开始任务后,就会进入HardFault_Handler,原因不明,调试最后死在了OSSched()里面的 CPU_INT_EN();上。
|