回答

收藏

野火ISO STM32开发板学习记三

STMCU STMCU 2850 人阅读 | 0 人回复 | 2014-03-10

    在单片机里直接写程序跑,叫裸跑.如果是在某一种操作系统下写程序就不叫裸跑了.嵌入式操作系统有很多. Linux,UCos, freeRTOS, eCos, VxWorks…..操作程序提供了许多有用的功能,使用户可以在应用层用编程.

    有人说,操作单片机就是操作寄器.从某种意义上说就是这样.例如网上成片的跑马灯,各种外设操作等,大体流程就是操作几个寄存器,等(延时)一会儿,再操作几个寄存器…...如果程序是这样写的还真是没啥意思.

    所以,基于以上两点想自己写点操作系统上的功能,实现最简单的功能就好.也方便以后的使用.我这个小菜认为.操作系统最核心的就是那个任务切换.其它的功能诸如任务调度方式,各任务间通信的方式,各单片机如何移植,实时性如何……其实都是围绕着任务切换而展开的.

    ucos用的人多,所以就先看这个.可是这个任务切换牵扯到arm汇编, arm的工作模式,方式,流程.啥也不懂啊,只好硬着头皮一点一点的看.野火哥的移植资料看,网上的针对某一个问题的讲解也看,可到现在还没有理清楚.什么xPSR,PC,LR的一大堆….就是明白点了堆栈,寄存器保存.但是丝毫不能把它们连贯起来.

    什么技术手册,编程手册,数据手册,arm构架…..如果一本一本的看,还不知要看到什么时候.还希望哪位大虾提供点成套的有关的知识点.只要把任务切换这部分的代码能够连贯起来就好.

    还有几个疑问在脑子里想着:在切换任务期间被忽略的中断要怎么处理呢;不用for循环,有什么好的延时方法吗?


分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

电子工程师
10503 积分
331 主题
+ 关注
关闭

站长推荐上一条 /3 下一条