嵌入式操作系统

嵌入式开发裸机和操作系统优缺点(freertos ucos)

	这篇文章适合刚入门的新手,准确来说刚开始学操作系统的朋友们,不明白为什么要上操作系统,裸机也挺好的,操作系统在程序里面起到
什么作用?

	没有学操作系统之前对它还有一个笼统的概念,但是开始了解一会之后就不知道什么是操作系统,存在的意义在哪,于是借鉴看到了一篇文
章帮助挺大[嵌入式为什么要引入操作系统](https://blog.csdn.net/xyd2017/article/details/69372349)

裸机和操作系统整体结构区别:

个人理解:首先是单片机两种开发模式(裸机开发,操作系统开发)而已,刚开始不要太依赖操作系统(毕竟有很多微控制不需要上操作系统、需要用到裸机开发的地方还是很多的,等到裸机学的感觉还不错了,再开始操作系统的学习),裸机开发模块化编程处理的好的话可以无限接近上操作系统方便移植这一优点
裸机: 软件 —— 硬件
操作系统: 软件 ——操作系统(API)——硬件

模块化编程到结构(强烈推荐):

APP:各个模块之间得逻辑

driver:驱动相关的配置

	hal:驱动之间得逻辑问题

	hw:驱动的初始化配置

在这里插入图片描述

//************************************************************分割线 ********************************************************

什么是操作系统:
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

操作系统的优点:
毫无疑问方便移植,提供了很多API接口,使得开发人员不用过多的了解底层硬件相关的知识,可以把更多的精力放在软件开发上。还有就是多任务,各个任务之间来回切换。提供网络资源,可以实现远程控制。

为什么使用操作系统,操作系统的意义在哪

个人理解: 操作系统是处于硬件和程序之前的一种软件,直接在裸机上运行的最底层的系统级程序,其他软件都必须在操作系统支持的基础上才能运行。

win我们比较熟悉,这个操作系统我们大部分都比较认可,这个操作系统提供一些接口,我们使用的软件都是基于这个操作系统提供的一些API接口来开发的。也正是这样才导致我们软件可以在不同品牌电脑不同型号电脑上使用,按照我们裸机开发的逻辑我们岂不是要针对于每一个品牌,不同型号的电脑都单独开发一款软件,每一款电脑的硬件谁也不能保证是完全相同的。但是操作系统兼容这些硬件设备,我们是在操作系统提供的接口来开发的软件,所以我们只需要上同一个操作系统,理论上讲软件都是应该兼容的。

回到嵌入式为什么上操作系统上,同样的道理,嵌入式开发板多种多样,我们写的跑马灯实验在不同板子上写的程序各种各样,这个跑马灯实验就相当于我们win下的软件一样(跑马灯理解为电脑上的led灯,蜂鸣器理解为闹钟)。在裸机开发的时候我们在stm32f103和stm32f407上面写一个跑马灯实验的时候开发程序肯定是不一样的,但我们在stm32f103和stm32f407都上了freertos操作系统之后我们基于同一个操作系统来写的跑马灯实验就可以是一模一样。

总结:

裸机开发直接控制开发板硬件写程序,嵌入式操作系统开发间接控制硬件、程序先控制操作系统执行动作、操作系统再控制硬件执行相应的动作。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

maosql

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值