1.操作系统与裸机的关系
1.1一心一用
一心一用的就是裸机。一般情况下,裸机代码的执行都是通过在main函数中的大while循环中执行子函数的方式来实现的。如下代码所示:
int main()
{
init(); //初始化一些外设或者变量等
while(1)
{
a(); //函数a
b(); //函数b
c(); //函数c
}
}
在main函数中的这些代码,我们可以称为后台系统,裸机除了main函数中的这些代码,还有中断服务函数,我们称为前台系统,如下代码就是一个串口中断服务函数。
void USART1_2_HANDLER()
{
//当串口接收到数据之后,就会到串口中断服务函数中执行相关代码。
}

如上图所示,该图是前后台系统(裸机)任务执行流程图。
该图来源于其他优快云博客。

本文通过生动的例子对比了裸机环境下任务的执行方式与FreeRTOS操作系统中任务的调度机制,介绍了FreeRTOS如何实现不同优先级任务的调度以及相同优先级任务间的公平调度。
最低0.47元/天 解锁文章
3157

被折叠的 条评论
为什么被折叠?



