嵌入式芯片上跑操作系统的大体原理是什么?哪位大神来笼统地讲讲
小弟做过一些小型的嵌入式系统,主要都是用的单片机,比如Atmelmega系列的用得最多,但是做过的小型项目都是用C直接写底层做的,没有架过什么操作系统。最近要接手一个AR...
小弟做过一些小型的嵌入式系统,主要都是用的单片机,比如Atmel mega系列的用得最多,但是做过的小型项目都是用C直接写底层做的,没有架过什么操作系统。最近要接手一个ARM的项目,控制小型智能车,听说如果跑操作系统,会让一些要并行执行的任务控制起来简单一些。我也打算通过这个项目了解了解嵌入式操作系统是怎么个回事。
但现在对于在嵌入式CPU上跑操作系统还没有任何概念,小弟以前是学电路硬件的,软件方面的课程接触很少。请问在ARM上跑操作系统(还是用C语言)实际来说是不是就是会include一些操作系统的h文件和c文件,然后在真正的main函数中去调用操作系统中的函数?哪位大神来笼统地讲讲跑操作系统时,单片机(ARM)运行具体的流程是什么样的?还是像普通那样整个系统会从main函数开始执行代码吗?另外,我听说在操作系统中main函数会有返回值了,那么是不是说跑操作系统的时候会由这个系统来调用main函数?
抱歉,小弟从来没在板子上跑过操作系统,所以问的问题会很菜鸟。要是有什么推荐小弟去自学入门的材料,欢迎推荐! 展开
但现在对于在嵌入式CPU上跑操作系统还没有任何概念,小弟以前是学电路硬件的,软件方面的课程接触很少。请问在ARM上跑操作系统(还是用C语言)实际来说是不是就是会include一些操作系统的h文件和c文件,然后在真正的main函数中去调用操作系统中的函数?哪位大神来笼统地讲讲跑操作系统时,单片机(ARM)运行具体的流程是什么样的?还是像普通那样整个系统会从main函数开始执行代码吗?另外,我听说在操作系统中main函数会有返回值了,那么是不是说跑操作系统的时候会由这个系统来调用main函数?
抱歉,小弟从来没在板子上跑过操作系统,所以问的问题会很菜鸟。要是有什么推荐小弟去自学入门的材料,欢迎推荐! 展开
3个回答
展开全部
简单来说,单片机上如果只跑一个程序(就是你以前开发的那种只有一个main函数的),那所有的资源都归这一个程序使用,包括所有的寄存器、存储器、控制接口等。但如果是跑操作系统,那怕是很小的嵌入式系统,也就意味着可以同时执行多个程序,也就是常说的多任务。操作系统会负责多个程序的并发执行(你在提问中将之称为并行是不准确的),以及资源分配。你可以说操作系统本质上也是一个main函数,但这个主函数可以在自己执行的同时,去调用其他的main函数,并管理和协调其对资源的争用。而你在编程时也可以不再关注一些过于底层的细节,如内存具体的物理地址之类的问题,会降低编程和调试的难度。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单点说吧,你以前写代码需要考虑这个执行的顺序,对不。,还要延时啥的。
有了操作系统,你就可以把每个功能写成一个函数,独立的。 设优先级啥的。操作系统会调用他们的。 每个任务结束了都要延时挂起。操作系统自己执行别的任务。 等时间到了,在重新执行这个任务。
简而言之,你不用考虑流程了。 扔任务就饿可以了
有了操作系统,你就可以把每个功能写成一个函数,独立的。 设优先级啥的。操作系统会调用他们的。 每个任务结束了都要延时挂起。操作系统自己执行别的任务。 等时间到了,在重新执行这个任务。
简而言之,你不用考虑流程了。 扔任务就饿可以了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询