AT32WorkBench常用功能26--FreeRTOS互斥量使用介绍
FreeRTOS互斥量使用介绍本文主要介绍如何基于AT32 WorkBench配置FreeRTOS互斥量
硬件环境l AT-START-F437l 下载线缆
软件环境l AT32 Workbenchl MDK5
互斥信号量介绍使用信号量的最初目的是为了给共享资源建立一个标志,该标志表示该共享资源被占用情况。这样,当一个任务在访问共享资源之前,就可以先对这个标志进行查询,从而在了解资源被占用的情况之后,再来决定自己的行为。
互斥信号量被用来解决优先级翻转的问题,优先级翻转在可剥夺型内核是很常见的问题。但是在实时系统中是不允许出现这种情况的,这会打乱系统的预期执行顺序,导致低优先级的任务在高优先级任务之前运行这违背了实时性的初衷。
配置步骤:1. 打开AT32 WorkBench新建AT32F437工程 2. 在中间件中打开FREERTOS并在模式窗口中勾选启用。此时FreeRTOS会有一个默认的配置,并生成一个my_task01任务。
3. 在配置框内点击“互斥量”,会出现互斥量创建窗口,如下:
点击“添加”即可创建新互斥量。 互斥量名称:默认为my_mutexxx(xx为数字,依次增加),用户可以任意修改互斥量名称 分配:动态或者静态 互斥量数组:选择静态内存分配时有效;StaticSemaphore_t类型变量,用于保存互斥量状态.
4. 点击生成代码按钮,选择MDK5;便可生成FreeRTOS工程,生成代码在freertos_app.c/.h文件内
5. 打开生成工程,结构目录如下
freertos_app.c内为workbench生成的关于FreeRTOS的应用层代码,包括任务的创建,互斥量的创建、任务入口函数等。
6. 下面进行试验验证,提前打开串口1打印功能(在“模块分类”中打开USART1,选择“异步模式”; 然后在SYSTEM中将“串口打印”选择为USART1即可),在两个任务中添加互斥量发送/接收函数和打印信息,如下:
7. 编译,下载到对应开发板,打开串口助手
共3条
1/1 1 跳转至页
FreeRTOS互斥量使用介绍

共3条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 | |
【分享开发笔记,赚取电动螺丝刀】【IAR】libc标注库time相关库函数使用被打赏23分 | |
LP‑MSPM0L1306开发版试用结果被打赏10分 |