您的位置:首页 > 其它

UCOS最新版2.91到MSP430F247上的移植杯具

2010-06-17 16:20 211 查看
这次主要说的是杯具,不是什么心德啥的,主要两个,都不是啥好消息。

说是要什么方法啥的,可以网上找找,和看邵贝贝的那本书,电子版也会有

以下是我的几个杯具,以后大伙别见笑:

1.不要相信软件仿真能完整的模拟硬件

用IAR作为开发平台,里面自带UCOS的仿真插件。刚刚开始以为能省事了,因为我之前用IAR仿真都是很方便的,几乎可以脱离硬件就能直接写出可以稳定工作的程序。这次我也按部就班,杯具就是这么来的。按书上说的、网上找的还有半桶水的英文读帮助把自以为完成的代码弄一起,编译没问题,仿真。建任务没问题,初始化没问题。可是后来问题来了:系统始终都不进入任务切换的中断。当然,这中断我用的是看门狗定时器,因为我看网上的哥们也都用,我也就跟着了。我就郁闷了,死活不产生中断。这整整花了我两天时间!!就浪费在这了!后来,一查,原来是我的芯片时钟配置都没有生效,相应的寄存器没有任何变化,也就不可能产生中断。我直接上板子硬件仿真,居然直接就成了。

2.仿真插件里没有正确的显示任务名,不代表没有正确的建立任务

算是进中断,切换任务了。可是在IAR4.11B这个版本下不能正确的显示任务名,而同样的,我用官方提供的430的移植版本好像是MSP430F5XXX人家可是正确显示了。为啥我的不对?我又从回去查函数,啥乱七八糟的,没有问题哈,各种UCOS的宏配置也都正常。郁闷间,我一天就这么过去了。我有单步跟踪进去,后来发现是UCOS插件的问题。旧的版本,在任务名用的是一个字符数组,而新版本的UCOS用的是一个指针,这就造成了插件在读取数据的时候出错。这个可能是作者出于节省RAM空间考虑吧?

3.不知道如何测试系统移植成功具稳定可靠

移植是完成了,也建了两个任务跑了一下。没出现跑飞的情况,可是心里没底哈。如果谁能给一个测试方案就好了,特别是只运用裸片上的功能且能覆盖UCOS提供的各种功能像:标志、信号量、邮箱、队列等等。。。当然,资源不能要太多,430F247才4K的RAM

谁有的话,丢我一个,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: