移植这个整整搞了两天,都没有搞明白为什么,真为自己的智商感到着急
。
1,”探索者实验例程55 ucos实验1--任务调度“里面 是不是必须在MDK开启FPU功能?我移植后,当我开启FPU时
编译不会出错,
不开启时
会编译出错,出错信息如下
2,当开启了FPU,编译正常后,我按照实验例程编写程序进行测试,结果出现蛋疼的问题,不知道为什么。情况如下,
当我开启FPU,但不选择微库时
,程序会死在OSStart,进入hardfult。
当我
当我开启FPU,并选择微库时
程序运行正常。
3,我的代码中没有使用printf。我使用的是
MDK5.13,是否跟这个有关?
4,奇怪的是,直接用MDK5.13打开原子哥的”探索者实验例程55 ucos实验1--任务调度“工程,这个工程FPU默认是开启的。不选择微库时,程序可以正常运行,但是选择了微库后,程序会进入hardfault,跟我移植的程序的情况刚好相反。
---------------------------------
直接打开的设置,如2楼所示
---------------------------------
刚刚试了下,我发现原子哥的“探索者实验例程55 ucos实验1--任务调度”例程,在设置里面勾选了microlib,编译没问题,运行时会进入hardfault,是因为microlib不支持操作系统的原因吗?奇怪的是,我移植的程序刚好相反,要勾选microlib,才能正常运行,为什么?
---------------------------------
原子哥,我把你的例程os_cpu_a.asm文件里的与FPU相关的指令屏蔽掉,而工程里面的FPU开关是打开的,这时我的程序运行到任务切换的时候会出错吗?求回复。。。
一周热门 更多>