五 AIR32F103 FreeRTOSv202112核心库的集成和示例代码( 二 )

在项目中使用 FreeRTOS开启 FreeRTOS 支持在项目中启用 FreeRTOS 支持, 只需要编辑 Makefile, 将 USE_FREERTOS ?= n 配置修改为 USE_FREERTOS ?= y
# Build with FreeRTOS, y:yes, n:noUSE_FREERTOS ?= y默认使用的内存管理方式是heap_4.c, 如果希望换成其它的内存管理方式, 可以修改这一行
CFILES+= Libraries/FreeRTOS/portable/MemMang/heap_4.c执行示例代码项目中已经针对AIR32F103准备了一些FreeRTOS的代码示例, 根据FreeRTOS的功能, 分别提供了以下示例的集合
├── Mem│   └── Malloc_And_Free# 内存申请和释放├── Queue│   ├── Queue_And_Notification# 队列和定时器中断触发的通知│   ├── Queue_And_Notification_DMA# 和上面一样, 但是换成了DMA中断│   └── Queue_Send_And_Receive# 队列的接收和发送├── Semaphore│   ├── Binary_Semaphore# 单值信号量│   ├── Counting_Semaphore# 计数信号量│   └── Mutex# 锁├── Tasks│   ├── Blink# 多任务闪灯│   ├── Blink_Controlled_By_UART# 用一个任务读取UART控制另一个任务的闪灯频率│   ├── DelayUntil# 带提前量的延迟│   └── Task_Notification# 任务间的等待和通知└── Timers└── TimerCallback# 软件定时器修改 Makefile 启用 FreeRTOS 支持后, 可以将示例代码复制到 User 目录下编译烧录.
针对合宙AIR32F103CBT6开发板的闪灯示例代码位于 Examples/FreeRTOS/Tasks/Blink 目录, 这个示例会创建三个任务, 按不同的周期控制板载的三个LED的亮灭. 编译和烧录的步骤参考 AIR32F103(三) Linux环境基于标准外设库的项目模板
更多阅读

  • Mastering the FreeRTOS Real Time Kernel 电子书 https://www.freertos.org/fr-content-src/uploads/2018/07/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf
  • FreeRTOSConfig.h 参数说明 https://www.freertos.org/a00110.html
  • 写得比较详细的 FreeRTOS 介绍 https://blog.csdn.net/qq_61672347/article/details/125748646

经验总结扩展阅读