stm32移植ucosII成功

今天闲来无事,觉得现在小项目中跑得任务还是蛮多的,加上STM32跑不了linux等一些大型系统,就觉得ucos应该不错。网上找了一下stm32的移植资料果然是大把大把的^-^。于是从网上下下来一个别人移植好的stm32源码包,理了一遍里面的源码,把跑得任务修改成自己的硬件,哈哈果然跑起来了。一共花了2.5个小时搞定。移植的过程中出现了一个小问题就是下载别人的源码的时候发现用的芯片不是MD的而是HD的于是把启动文件换成我们的starup_stm32f10x_md.s,编译成功下到板子里居然没反应,用jlink调试跟踪一看原来是进入了pendSV中断后一直死循环在

OSStartHang
    B       OSStartHang                                         ; Should never get here

发觉很郁闷,查了一些资料原来问题出现在这儿,替换了启动文件的同时还应该修改里面的PENDSV中断的handler的名称改为我们的OS_CPU_PendSVHandler。然后编译下载OK啦。呵呵还有一个需要注意的问题就是网上下下来的源码的CPU的频率有可能不是你想要的应该在system_stm32f10x.c中修改CPU的频率,还有就是注意一下CPU的flash型号对应的宏,有可能别人的源码用的HD的芯片你的是MD的芯片,人家在stm32f10x_conf.h内修改了对应的宏你也应该改过了OK了。

现在做开发真的离不开internet啊^_^不然我也不可能2.5小时内搞定ucosII的移植。

我的硬件版本是:STM32F103C8T6,ucos版本是ucosiiV2.86

下面是我的源码包地址:http://download.csdn.net/detail/cumtwys/4000631

另外给大家推荐一本学习ucosII的书籍,相当的不错,就是邵贝贝的《嵌入式实时操作系统uCOS-II》(第二版)。

近一段时间在研究国产的RTOS系统,RT-THREAD,做的还是不错的,有兴趣的同学可以尝试一下。风格跟ucos有点不太一样,驱动什么的模仿linux的,其中一些组件比较好用的!支持国产吧!

你可能感兴趣的:(stm32,ucosII)