了解在STM32F4x和基于ARM cortex M的Mircocontrollers上运行/移植FreeRTOS实时操作系统的方法
- 内容通过FreeRTOS编程和调试
- 了解各种RTOS概念
- 通过STM32标准使用OpenSTM32系统工作台在STM32 MCU上运行FreeRTOS的完整方法外设驱动程序API,用于配置外设
- FreeRTOS任务创建,删除,使用代码示例进行
- 调度FreeRTOS调度程序
- FreeRTOS堆栈和堆管理的重要调度策略
- 使用信号量在任务之间进行同步的正确方法。
- 使用信号量在任务和中断之间进行同步的正确方法
- 多个事件与任务之间的同步
- FreeRTOS队列管理(如创建,发送,接收,阻止等)
- 使用Mutex服务和信号量在任务之间实现互斥
- 了解详细信息解释的上下文切换
- 了解特定于体系结构的代码,例如SVC_handler,PendSV_handler,SysTick Handler行逐行
- 您将了解内核滴答计时器,其重要性,内核滴答频率及其配置详细信息。
- 了解完整的ARM Cortex M和FreeRTOS优先级模型及其与配置有关的信息
- 使用SEGGER SystemView软件进行FreeRTOS调试
- 许多文章逐行解释ARM Cortex M相关的FreeRTOS架构特定代码
- FreeRTOS场景中的低功耗指令用例
- 大量编码练习
- 使用SEGGER软件工具包进行快照和连续模式记录调试
“本课程的最大目标是实际上使用FreeRTOS和STM32 MCU来揭开RTOS的神秘面纱”
使用开发设置移植/运行FreeRTOS的逐步指南,其中包括
1)Eclipse + STM32F4xx + FreeRTOS + SEGGER SystemView
2)FreeRTOS + Simulator (对于Windows)
使FreeRTOS的完整体系结构(ARM Cortex M)相关代码神秘化,这将极大地帮助您将该内核放入您选择的任何目标硬件上。
本课程中使用的开发板:
如果您已经有一个基于STM32的开发板,请继续使用它。该课程使用基于STM32F446RE MCU的NUCLEO-F446RE板。
本课程中使用的软件:
1)可在所有OS平台上运行的OpenSTM32 System Workbench(WIN / OSX / LINUX)(免费)
2)SEGGER Systemview软件免费版
FreeRTOS + Simulator
没有任何硬件?您仍然可以使用Windows的FreeRTOS模拟器尝试本课程的某些源代码。
在本课程中,我记录了在模拟器模式下运行freeRTOS所需的所有步骤,因此您可以立即在PC上进行设置。您只需要PC和Eclipse软件即可。
嵌入式调试和测验
调试嵌入式代码确实很有趣,学习各种调试技术和功能对于掌握嵌入式调试非常重要。
总目录(15h)
- 课程概述
- RTOS简介
- 我们课程中使用的开发板
- IDE安装(OpenSTM32 System Workbench)
- 下载并安装FreeRTOS
- 为STM32 MCU创建基于FreeRTOS的项目
- FreeRTOS任务创建
- FreeRTOS Hello World应用程序和硬件测试
- 半主机和UART设置
- 使用SEGGER SystemView工具调试FreeRTOS应用程序
- FreerRTOS的IDLE任务和Timer Svc任务
- FreeRTOS调度程序
- FreeRTOS和ARM Cortex Mx Arch具体细节
- 上下文切换
- 练习:按钮和LED任务和中断编码
- FreeRTOS任务通知
- FreeRTOS许可模型和API接口
- FreeRTOS内存管理,堆栈和同步服务概述
- FreeRTOS内核编码样式
- FreeRTOS任务删除
- ARM Cortex M中断优先级和FreeRTOS任务优先级
- 中断安全API和任务产生
- FreeRTOS任务状态
- FreeRTOS:延迟API的重要性
- FreeRTOS挂钩功能
- FreeRTOS调度策略
- FreeRTOS队列管理
- 同步,互斥和中断管理的信号灯
- 互斥
- FreeRTOS +模拟器