FreeRTOS资源管理

在一个多任务系统中存在如下的潜在问题:非原子操作。当一个任务在访问一个资源,且尚未完成一次访问,此时被调度退出运行态,另一个任务/中断进入访问这个资源将会产生一些意想不到的问题。一些典型的例子如:

  1. 访问外设,比如写LCD
    1. 任务A执行写”I love you”到LCD
    2. 在写到”I ”之后,任务A被任务B抢占
    3. 任务B写”do not”到LCD
    4. 切换回任务A继续执行继续之前的上下文操作

LCD输出内容将会是:”I do not love you”

  1. 读、修改、写操作

这个操作是非原子的,因为它会先读、再改、再写,这些指令都是分开的、可被中断的,

  1. 对变量的非原子访问

比如在一个16位机器上,实现一个32位的变量的访问

  1. 函数可重入性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ArvinXD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值