RTOS的基本概念与线程基础知识

本文通过生动的例子介绍了RTOS(实时操作系统)的概念及其在单片机程序中的应用,并深入探讨了线程的切换与保存机制,解释了ARM架构下的寄存器工作原理及汇编指令。

1 RTOS概念及线程的引入

1.1 RTOS的概念

用人来类比单片机程序和RTOS:


妈妈要一边给小孩喂饭,一边加班跟同事交流,怎么办?
对于单线条的人,不能分心,不能同时做事,她只能这样做:

  • 给小孩喂一口饭
  • 瞄一眼电脑,有信息就去回复
  • 再回来给小孩喂一口饭
  • 如果小孩吃这口饭太慢,他回复同事的信息也就慢了,被同事催,你半天都不回复我?
  • 如果回复同事的信息要写一大堆,小孩就饿的大哭起来

对于眼明手快的人,她可以一心多用,她这样做:

  • 左手拿勺子,给小孩喂饭
  • 右手敲键盘,恢复同事
  • 两不耽误,小孩“以为”妈妈在专心喂饭,同事以为“她在专心聊天”
  • 但是脑子只有一个啊,虽然说一心多用,但是谁能够同时考虑两件事?
  • 只是她反应快,上一秒钟在考虑夹哪个菜给小孩,下一秒钟考虑给同事回复什么信息

这种做法,在软件开发上,就是使用操作系统, 在单片机里叫做使用RTOS

RTOS的意思是:Real Time Operating System,即实时操作系统,但使用Windows,我们经常碰到程序卡死、停顿的现象,日常生活中,这是可以忍受的,但是在电梯系统中,你按住开门键时如果没有即刻反应,即使知识慢个一秒钟,也会夹住人,在专用的电子设备中,实时性很重要

1.2 程序简单示例:

//经典单片机程序
void main()
{

    while(1)
    {

        喂一口饭();
        回一条消息();

    }


}

//RTOS程序
int a;
喂饭() 栈A
{
    int b=2;
 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值