uC/OS-II嵌入式操作系统及其开发
1.uC/OS-II创建的任务须为死循环
一般情况下,uC/OS-II由OSTaskCreate()创建的任务必须是死循环,并且不能返回,否则程序会跑飞。如果任务只需执行一次,或者需要在符合某些特定的条件时返回,必须调用OSTaskDel()删除该任务。
2.uC/OS-II的移植
移植时的具体工作与处理器的内核有关,而与具体的处理器无关。比如,内核都是Cortex M3的处理器有好多厂家、好多种类,但是因为内核都是Cortex M3的,因此移植工作基本是一样的。即uC/OS操作系统的移植与处理器的内核有关,而与具体的处理器无关。也就是说,已经移植好的代码如果没有针对特定处理器的操作,可以在其它相同内核的处理器上运行。
3.keil编译错误的解决办法
A.在编译代码时有几次遇到如下错误提示:
No space in execution regions with .ANY selector matching Section .data(xxx.o).
当时代码量不大,并且Cortex M3的处理器片上flash也足够大,所以不是代码空间不足的问题。并且提示信息是说section data没有空间,因此,应该是内存空间不足。将定义的全局变量、尤其是全局数组减少之后,编译错误消失了。
4.优先级
优先级的值越小,优先级越高。