TA的每日心情 | 开心 2016-8-4 10:56 |
|---|
签到天数: 242 天 连续签到: 1 天 [LV.8]以坛为家I
翰林
- 积分
- 10503
|
在单片机里直接写程序跑,叫裸跑.如果是在某一种操作系统下写程序就不叫裸跑了.嵌入式操作系统有很多. Linux,UCos, freeRTOS, eCos, VxWorks…..操作程序提供了许多有用的功能,使用户可以在应用层用编程.
有人说,操作单片机就是操作寄器.从某种意义上说就是这样.例如网上成片的跑马灯,各种外设操作等,大体流程就是操作几个寄存器,等(延时)一会儿,再操作几个寄存器…...如果程序是这样写的还真是没啥意思.
所以,基于以上两点想自己写点操作系统上的功能,实现最简单的功能就好.也方便以后的使用.我这个小菜认为.操作系统最核心的就是那个任务切换.其它的功能诸如任务调度方式,各任务间通信的方式,各单片机如何移植,实时性如何……其实都是围绕着任务切换而展开的.
ucos用的人多,所以就先看这个.可是这个任务切换牵扯到arm汇编, arm的工作模式,方式,流程.啥也不懂啊,只好硬着头皮一点一点的看.野火哥的移植资料看,网上的针对某一个问题的讲解也看,可到现在还没有理清楚.什么xPSR,PC,LR的一大堆….就是明白点了堆栈,寄存器保存.但是丝毫不能把它们连贯起来.
什么技术手册,编程手册,数据手册,arm构架…..如果一本一本的看,还不知要看到什么时候.还希望哪位大虾提供点成套的有关的知识点.只要把任务切换这部分的代码能够连贯起来就好.
还有几个疑问在脑子里想着:在切换任务期间被忽略的中断要怎么处理呢;不用for循环,有什么好的延时方法吗?
|
|