裸机和操作系统

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

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

没有学操作系统之前对它还有一个笼统的概念,但是开始了解一会之后就不知道什么是操作系统,存在的意义在哪,于是借鉴看到了一篇文章帮助挺大嵌入式为什么要引入操作系统

一款单片机两种开发模式
裸机: 软件 —— 硬件
操作系统: 软件 ——操作系统——硬件

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

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

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

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

总结:

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

你可能感兴趣的:(嵌入式,嵌入式,操作系统)