嵌入式芯片上跑操作系统的大体原理是什么?哪位大神来笼统地讲讲

小弟做过一些小型的嵌入式系统,主要都是用的单片机,比如Atmelmega系列的用得最多,但是做过的小型项目都是用C直接写底层做的,没有架过什么操作系统。最近要接手一个AR... 小弟做过一些小型的嵌入式系统,主要都是用的单片机,比如Atmel mega系列的用得最多,但是做过的小型项目都是用C直接写底层做的,没有架过什么操作系统。最近要接手一个ARM的项目,控制小型智能车,听说如果跑操作系统,会让一些要并行执行的任务控制起来简单一些。我也打算通过这个项目了解了解嵌入式操作系统是怎么个回事。

但现在对于在嵌入式CPU上跑操作系统还没有任何概念,小弟以前是学电路硬件的,软件方面的课程接触很少。请问在ARM上跑操作系统(还是用C语言)实际来说是不是就是会include一些操作系统的h文件和c文件,然后在真正的main函数中去调用操作系统中的函数?哪位大神来笼统地讲讲跑操作系统时,单片机(ARM)运行具体的流程是什么样的?还是像普通那样整个系统会从main函数开始执行代码吗?另外,我听说在操作系统中main函数会有返回值了,那么是不是说跑操作系统的时候会由这个系统来调用main函数?

抱歉,小弟从来没在板子上跑过操作系统,所以问的问题会很菜鸟。要是有什么推荐小弟去自学入门的材料,欢迎推荐!
展开
 我来答
hoarymarmot
2013-09-07 · TA获得超过1481个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:216万
展开全部
简单来说,单片机上如果只跑一个程序(就是你以前开发的那种只有一个main函数的),那所有的资源都归这一个程序使用,包括所有的寄存器、存储器、控制接口等。但如果是跑操作系统,那怕是很小的嵌入式系统,也就意味着可以同时执行多个程序,也就是常说的多任务。操作系统会负责多个程序的并发执行(你在提问中将之称为并行是不准确的),以及资源分配。你可以说操作系统本质上也是一个main函数,但这个主函数可以在自己执行的同时,去调用其他的main函数,并管理和协调其对资源的争用。而你在编程时也可以不再关注一些过于底层的细节,如内存具体的物理地址之类的问题,会降低编程和调试的难度。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a442d2a7f1
推荐于2017-12-15 · TA获得超过3245个赞
知道大有可为答主
回答量:2677
采纳率:50%
帮助的人:1252万
展开全部
简单点说吧,你以前写代码需要考虑这个执行的顺序,对不。,还要延时啥的。

有了操作系统,你就可以把每个功能写成一个函数,独立的。 设优先级啥的。操作系统会调用他们的。 每个任务结束了都要延时挂起。操作系统自己执行别的任务。 等时间到了,在重新执行这个任务。

简而言之,你不用考虑流程了。 扔任务就饿可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
myworld122
2013-09-08
知道答主
回答量:24
采纳率:0%
帮助的人:9.5万
展开全部
只有轮子

465465
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式