[原创] [hanker M4开发板试用]uC/OS-II我来了

jobszheng5   2012-5-20 22:54 楼主
通过近一周的移植,uC/OS-II终于在开发板上正常跑起来了,小LED灯以5Hz的闪烁,是那么的耀眼,那么美丽……
Cortex-M4也是在Arm7构架上升级的产品,其指令集兼容Cortex-M3。因此,从理论上说,Cortex-M3的uC/OS-II的port文件可以直接用于LM4F232上,当然,我也是这样做。
        我使用的是LM3S8962上面的成功移植案例,在Keil IDE开发环境下,编译成功的。LED灯以5Hz的频率闪烁
DSCN1253.jpg
        移植才是主要的工作任务,因此,只运行了两个任务,一个是taskCreat,一个是taskLed,如下图所示:
eeworld01.JPG
        在感叹之后,便是近一周以来不断的学习,不断的实践,不断的再学习,不断的再实践的过程——有点像马哲课上老师说的了,不要拍砖啊~~
        近一周的调试,问题肯定是有的,主要是水平偏低才造成的。我也不要面子,以我的近一周的付出,希望为了广大网友换来节省宝贵的时间。
        LM4F232是支持浮点运行的,而程序默认情况是不开启,在Keil 4.22a里可以通过选项卡将其禁用,就可以直接使用Cortex-M3的port了。
        eeworld02.JPG

        但是,如果让uC/OS-II支持浮点运算,那么就必须更改uC/OS-II的port文件,即重写OSTaskStkInit函数,添加对浮点堆栈处理, FPSCR,S15~S0,72个字节压栈,还有S31~S16,64字节压栈。并修改PendSV中断,加入浮点寄存器31~S16的压栈和出栈处理。
      
(引自http://www.deyisupport.com/question_answer/w/faq/275.aspx)
        我出现错误就在于我使用了IAR 编译环境,未将FPU禁用,所以一启动就进入了FaultISR,而我一直以为是我移植的问题,因此,花耗了大量的时间去研究uC/OS-II的移植,嘿嘿,也算是仔细地再学习了一遍邵贝贝老师的书吧~~

附:文中图片来源http://www.deyisupport.com/question_answer/w/faq/275.aspx感谢其帖主:JSW-Token。
最后感谢EEWORLD论坛提供开发板,感谢网友若惕提供底层驱动~~


[ 本帖最后由 jobszheng5 于 2012-5-21 00:16 编辑 ]

回复评论 (4)

经验很宝贵,谢谢
点赞  2012-5-21 06:24
楼主的图片每次都很艺术,赞一个。
点赞  2012-5-21 08:44
我要努力,让我的文章、技术也更加上档次,
点赞  2012-5-21 10:21

回复 板凳 fish001 的帖子

我承认,其实我是一个艺术家~~
都艺术家好几个星期了
点赞  2012-5-21 13:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复