实时操作系统任务调度 DMA 中断向量表和中断处理 Memory 一种升级模式(从BootLoader到main)

1 任务调度:(优先级抢占调度+时间片轮洵调度

低优先级的任务正在执行中,另一个高优先级的任务进入就绪状态,则立马进入处理器抢占,执行高优先级任务,直到高优先级的任务

释放处理器(完成、挂起、阻塞),才可继续用执行低优先级任务

当系统中存在几个相同优先级的任务时,就会采用时间片轮洵的方式进行调度

比如工A/B/C三个进程,假设时间片为5ms,则时间片轮洵为A/B/C依次执行5ms然后再循环执行

任务切换:任务切换时,把当前任务的现场数据保存在自己的任务栈里面,再把待运行的任务
                  的数据从自己的任务栈装载到
CPU 中,改变CPUPCSP,寄存器等。


2 DMA(直接存储器访问


一般情况下,把外设如IIC的数据搬到内存,需要经外设到CPU再到RAM

DMA 则不经过CPU,工作时,先向CPU申请总线控制权,指定源地址 目的地址 需要搬多少字节,然后start,执行完把系统总线让给CPU

3 中断向量表和中断处理

中断向量表中的每一项都是一个中断异常处理函数的入口地址,就是来了一个中断后,告诉系统去哪个地址去执行中断

中断处理:接收到中断之后,会挂起当前正在执行的任务,保护好现场,将PC指针知道中断执行的地址,去处理中断请求,

处理完后,再将PC指针返回要原来在执行的地址去

4 Memory

flash擦除:以块为单位,不能按字节去擦除或者更改


4 一种升级模式(从BootLoader到main)


其中本来部分存的是Main image,当Bootloader启动未收到升级指令时,则正常跳到中的Main中去执行

中开始存储为Backup Image,Bootloader当收到升级指令后,会擦除Backup Image,并写入新的image

最后设置为Main Image,当程序下次启动,若无升级指令,则跳到中的Main去执行

若不断发生升级,则两块区域Backup Image和Main Image就来回倒换


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值