欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

新手问个白痴有关问题,请高手们指点

更新时间: 2014-01-05 03:15:14 责任编辑: Author_N1

 

新手问个白痴问题,请高手们指点
为什么要在单片机上移植操作系统,比如51移植uc/OSii,是为了用操作系统的中断机制嘛(这里不会表达- -) 举个例子
一设备,要求如下
1. 显示每秒刷新5次(每次刷新理论耗时Xms)
2. 需要通过外部ADC芯片不停的对传感器进行AD转换,要求每秒至少N次(每次从ADCA芯片处读出AD耗时Yms)
3. ADC结果需要通过UART主动或者USB被动上传到上位机,要求每秒至少上传N个数据(每次耗时Zms)
4. 有键盘
5. 需要对电池进行检测,速度不要求很快

如果不用OS处理,楼主可以想想一下光用定时器来实现的工作量
--参考方法--
注意,中断是硬件机制,操作系统是在中断上建立的,而不是反过来的。即使是裸机下也是可以用中断。

采用操作系统,就单片机的话,编程的模型,或者说编程的思维就能从前后台(也叫死循环)的方式换到多线程的编程方式。从而减少多个功能模块之间的耦合和关联关系。

如果你的单片机系统中用前后台系统的话,有多个功能模块的话,你会体会到这一点的。
如果在这个系统里再继续加新功能,你会觉得越来越来,因为要考虑原来的功能。但是用多线程,就算是你说的操作系统的话,就不需要太关心其他功能模块了。

在嵌入式下(相对单片机系统,功能复杂),如果操作系统还带内存管理的话,系统里面可以跑多个独立的程序,编程模型和编译模型也更简单了相对于前后台系统。

总的来说,我个人觉得用操作系统,主要是改善编程人员的编程模型和编程思维,让编程更容易。操作系统来解决很多底层问题,让程序员不用过多关心底层细节,专注于功能本身,提高开发和维护的效率。

文件系统就不说了。
--参考方法--
嵌入系统的意义是更好的管理硬件资源

如果,硬件资源没有复杂到前后台管不过来的层次,那就先考虑一下用OS的意义

不能为了用OS而用
--参考方法--
不用OS,你就像个光杆司令,什么都得自己做;有了OS,你就像个真司令,很多事动动嘴皮就有人替你做了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:15:14
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20162/
本文WWW.DOC100.NET DOC100.NET版权所有。