韦东山freeRTOS系列教程:FreeRTOS的内部机制 简易笔记 第二天

​​​​​​韦东山freeRTOS系列教程:FreeRTOS的内部机制_哔哩哔哩_bilibili

11 队列实现互斥访问

 12 队列第二个好处 提高CPU效率 休眠唤醒

 任务B直接进入休眠态

13队列核心 关中断 环形缓冲

如何唤醒

P14 队列结构体及读操作

 有数据后唤醒任务还需要唤醒下阻塞着的写操作

 P15 队列写数据

 P16 队列超时唤醒

系统tick会自加,加到一定值,从delaylist到就绪态,真正去判断下

 P17 信号量

队列的封装

计数型和二值型

 

P18 信号量操作流程

 P19 互斥量与优先级反转

互斥量比二值信号量的好处在于优先级继承,也是个队列

高优先级被中等优先级任务卡死,因为低任务拿着信号量

解决方法:提升优先级

 P21 事件组 bit 突出协作

 

不会在中断中使用事件组

22 事件组为什么不关中断

 在set时会唤醒所有等待的任务,所以不能在中断中直接set,

 

 P23 任务通知

从v8.2.0版本开始,FreeRTOS新增了任务通知(Task Notifictions)这个功能,可以使用任务通知来代替信号量、消息队列、事件标志组等这些东西

 

 P24软件定时器

freertos的计时器效率不高在这,因为不知道处理函数的市场,所以又做了个守护进程

P26 中断机制-两套API

P25中断-两类中断 

 ​​​​​​​

 P26中断机制-优先级

 可以打断,什么时候打断

P27临界资源

关闭中断、屏蔽器 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 课程内容嵌入式软件工程师的学习路线一般是:单片机、RTOS、Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。我们在2022年已经推出了“FreeRTOS快速入门”课程。为何还要重新制作“FreeRTOS入门与工程实践”?“FreeRTOS快速入门”只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。在“FreeRTOS入门与工程实践”,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于“面向对象”的思想来写程序。所以,本课程会涉及如下内容:讲解FreeRTOS的常用API:理论、用法选择合适的硬件模块,展示这些API的实例实现合适的小项目,展示工作中的编程方法1.2 讲课方式对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍)讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解)讲解原理时,配合着文档、现场画图进行讲解,跟学校老师写黑板一样最后现场从0编写程序并调试一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。1.3 硬件平台本课程基于DshanMCU-103开发套件进行开发,它由3部分成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示:  上述硬件再加一个ST-Link即可学完本课程所有内容。主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下:低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃按需购买:用到再买,讲究一个性价比 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值