【RTOS】初识freeRTOS内部机制


一、学习RTOS

RTOS学习分为三个层次:

  1. 使用API
  2. 知道API内部机制
  3. 彻底掌握代码细节,能移植、改进

我们先提出一个问题:RTOS裸机开发有什么区别?

当有多个事件需要去执行(比如事件A:吃饭和事件B:回信息),裸机通常使用轮询方式、事件中断和定时器中断这种方式,都不可避免当某个事件运行时间长会影响到其他事件
这时我们引出RTOS,把事件拆分成很小的一段轮换运行。当轮换时间片很小就可以认为是事件是同时运行的。
在这里插入图片描述

二、ARM架构

2.1 SOC组成

主控芯片SOC一般包括CPU、内存Flash、GPIO模块等,我们写的程序会烧写进flash。CPU运行第一步读取Flash取指令,然后根据指令去做各种操作,我们下面会介绍这些操作的作用。

在这里插入图片描述

2.2 分析C函数汇编理解程序本质

什么叫做程序?

程序:①有指令 ②有运行过程中的数据。

例如:CPU在读变量A的时候,会把内存上对应地址的数据存储到CPU寄存器;同样在CPU写数据的时候会把CPU某个寄存器的值写入到内存上。这时候涉及到下面这些简单的汇编指令:

汇编指令 作用 解释
LDR R0,[R1,#4] 读内存,(源、目的、长度) 源地址R1+4的位置读取长度4字节数据,存放到目的地址为R0的位置
STR R0, [R2,#8] 写内存,(源、目的、长度) 源地址R0的位置读取长度4字节数据,写到目的地址为R2+8的位置
ADD R0, R1, R2 R0=R0+1
SUB R0, R0, #1 R0=R0-1
PUSH {R3, LR} 入栈 把R3,L2的值写入SP所指示内存,同时SP=SP-8
POP {R3, PC} 出栈 从SP位置读内存赋值给
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值