RTOS:多任务系统

1、程序本质

什么叫程序?

  • ① 指令
  • ②运行过程的数据

程序运行的机制:CPU会去flash读取指令,根据汇编指令来操作数据

2、ARM架构过程调用标准AAPCS

C函数:

  • 随意使用R0~R3,无需保护
  • R4~R11:可用,先保存,用完要恢复
register int sum asm"r4"

3、中断处理流程

  • 保存现场:保存R4~R11之外的寄存器(硬件自动保存)
  • 处理中断:保证不破坏R4~R11(硬件调用中断)
  • 恢复现场:恢复所有的寄存器(硬件恢复)

谁来保存,谁来恢复?
C函数保证R4~R11不变,其他寄存器由硬件保持不变
中断处理
返回地址:中断的返回地址(特殊值,触发中断返回)

4、RTOS的核心:保存和恢复现场

保存和恢复现场每个任务有自己的栈,局部变量保存在栈里,不破坏栈即可
切换任务要保存R4~R11
保存现场

5、切换任务

  • 保存任务A的现场
  • 取出下一个任务的栈
  • 切换到新任务

6、RTOS本质

  • 任务切换:任务有栈,栈的保存和恢复
  • 任务的休眠和唤醒:状态决定能否运行(链表)
  • 优先级:
    • 中断大于任务Task
    • 任务间有优先级
  • 同步与互斥
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值