STM32实时操作系统

1、裸机和操作系统的区别:
裸机是在一个main函数里执行的,除了有中断才会跳到其他地方,否则就会一直按照地址不断加4来执行(为什么是加4呢)。顺序的执行结构就是你可以通过代码找到相应的执行流程。
操作系统 main函数当通过函数堆栈切换的跳转到第一个任务之后,第一个任务好像还是默认的,通过优先级的判断优先级高的可以得到优先的执行,就好像有多个main函数在一起执行的假象(并行)。
2、操作系统作用
操作系统是计算机硬件系统与应用程序之间的接口,应用程序设计人员只是操作系统层为基础使用计算机系统,所谓程序设计人员看到和使用的只是一些由计算机操作系统提供的函数API,至于操作系统的这些底层函数是怎么实现的,应用开发人员不需要管。
3嵌入式系统的特点
专门为某些用户的某些功能设计的,可裁剪性强,Linux系统有很多网络协议栈之类的,没有必要就可以把源码删掉。实时性与可靠性,所谓实时性不是指写的代码要马上执行,而是你的代码可以在合适的时间中执行,因为操作系统有很多的机制,比如资源的强占,优先级低的就要等。
4、
ucos11的任务是一个特殊的函数,没有类型没有返回值,里面是一个死循环。
他为什么可以调出来执行其他任务呢?
能够跳出来跟别的任务进行通信,在下面的用户需要添加的代码中一定是有一个任务切换的函数调用的。实际上是CPU的SR寄存器(状态寄存器)中的任务堆栈的切换的过程。
5、BSP板级支持包是
介于主板硬件和操作系统中驱动层之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能更好的运行硬件主板。
在嵌入式系统中,板级支持包用作初始化与运行操作系统并用于评估板的简易代码,它通常包含了以基础支持来加载操作系统的引导程序,以及主板上的所有设备的驱动程序。

你可能感兴趣的:(STM32)