STM32RTOS培训嵌入式操作系

上传人:ali****an 文档编号:118768801 上传时间:2019-12-25 格式:PDF 页数:179 大小:8.06MB
返回 下载 相关 举报
STM32RTOS培训嵌入式操作系_第1页
第1页 / 共179页
STM32RTOS培训嵌入式操作系_第2页
第2页 / 共179页
STM32RTOS培训嵌入式操作系_第3页
第3页 / 共179页
STM32RTOS培训嵌入式操作系_第4页
第4页 / 共179页
STM32RTOS培训嵌入式操作系_第5页
第5页 / 共179页
点击查看更多>>
资源描述

《STM32RTOS培训嵌入式操作系》由会员分享,可在线阅读,更多相关《STM32RTOS培训嵌入式操作系(179页珍藏版)》请在金锄头文库上搜索。

1、STM32 嵌入式操作系统介绍 Nov. 2017 2 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 目录 3 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 目录 4 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 目录 4.1 Fre

2、eRTOS与STM32Cube 4.2 FreeRTOS任务管理 4.3 FreeRTOS内存管理 4.4 FreeRTOS任务间通信 4.5 FreeRTOS软件定时器 4.6 FreeRTOS延时 4.7 FreeRTOS临界区与挂起调度器 4.8 FreeRTOS中断嵌套 5 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 这是我们常见的操作系统 6 Android 4.0 Mac OS X Snow-Leopard Symbian Belle HP WebOS 操作系

3、统的基本结构 7 从层次来看,操作系统位于计算 机硬件之上,应用软件之下. OS是一种为应用程序提供服务的 系统软件. 在嵌入式系统中常见的两种软件编程方式8 前后台系统 嵌入式操作 系统 前后台模式应用程序 9 Hardware BSP (firmware) void main() init(); while(1) ADC_Task(); Calc_Task(); USB_Task(); LCD_Task(); 前后台模式的特点 后台 应用程序通常是一个无限的循环,在循环中,通过调用相应的处理函数 完成相应的操作,这部分可以看做为后台行为 前台 中断服务程序接收异步中断,来通知后台,后台收到

4、中断请求后 进行处理. USB_ISR(void) Clear_Int(); USB_DataRead(); . ForegroundBackground 嵌入式实时操作系统 10 Operating System Hardware BSP (firmware) task1task2task3 task N 嵌入式操作系统的特点 嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关 的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、 标准化浏览器等。 负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协 调并发活动。 目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系

5、统 FreeRTOS、C/OS-II、RThread、WindowsCE、VxWorks 等等. Application software 11 应用代码 应用堆栈 内存 处理器 PC SP 处理器通过两个指针寄存 器(PC和SP)来与应用 代码和应用堆栈建立联系 并运行它 寄存器组 运行环境包括了两部分: 处理器中的运行环境和 内存中的运行环境 前后台模式基本结构 程序 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 程序 处理器 PC SP 寄存器组 寄存器组 嵌入式OS基本结构 复制 3.然后把该task1的虚拟处理 器复制到实际处

6、理器中 1.在内存中为每个任务创建一 个虚拟的处理器(处理器部分 的运行环境),当需要运行task1 时. 2.先中止当前任务(如task2), 把task2对应的虚拟处理器复制 到内存 复制 task1 程序 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 虚拟 处理器 PC SP 调度器 程序 处理器 PC SP 5.由操作系统的调度器 按调度算法来进行这两 个复制工作 复制 复制 寄存器组 寄存器组 任务的切换实际上 任务运行环境的切 换 嵌入式系统是否需要OS? 14 前后台模式嵌入式操作系统 资源使用不需要额外分配空间给 OS 需要分配资源给OS(内核资

7、源使 用情况取决于使用何种OS) 学习曲线开发者不需要学习OS 的API 开发者需要熟悉OS的基本操作 (任务建立/删除、任务间通信、 优先级处理、中断处理) 实时性难以确保每个操作能够 实时相应,如果一个函 数花费过长时间,将使 整个系统的实时性下降 实时嵌入式OS的调度算法可以 最大程度保证系统的实时性 系统结构耦合度较高模块化、结构清晰 可协作性/ 可扩展性/ 可维护性 两种开发模式对比 两种开发模式选择 16 前后台模式嵌入式操作系统 硬件成本允许增加OS 的资源 需要使用复杂的外设和功 能(如USB/网络/FS等.) 团队协作开发 产品功能复杂 成本要求非常苛刻 不需要复杂的外设(如

8、 USB/网络/FS等.) 开发成员不多 产品功能简单 17 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 FreeRTOS嵌入式操作系统 FreeRTOS是一个轻量级嵌入式操作系统,具有源码公开、可移植、可裁剪、 调度策略灵活的特点,可以方便地移植到各种嵌入式控制器上实现满足用户需 求的应用. FreeRTOS作为一个轻量级嵌入式操作系统,提供一个高层次的可信任代码 源代码以C开发,系统实现的任务没有数量的限制. FreeRTOS内核支持优先级调度算法,每个任务课根据重要

9、程度的不同赋予一定 的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行. FreeRTOS内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先 级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU使用时 间. FreeRTOS官方支持 30 种架构 (ARM7 和 ARM Cortex M3 每个算一种架 构)。 18 可通过队列、二进制信号量、计数信号量、递归信号量、互斥量在任务间、任 务与中断 间通信和同步。 互斥量有优先级继承。 支持高效的软件定时器。 强大的执行跟踪功能,栈溢出检测选项。 免费论坛支持,或可选择商业支持和授权。 可创建的任务数无软件限制,可使用

10、的优先级数无软件限制。 优先级指定无限制 - 可为多个任务指定同一优先级。 免费的嵌入式软件源代码,免版税。 可从标准的 Windows 主机交叉开发。 无论商业应用还是个人学习,都无需商业授权,是完全免费的操作系统. 19 FreeRTOS授权 授权 FreeRTOS 源代码使用修正的 GNU 通用公开许可来授权。 GNU 通 用公开许可全文如下: 20 21 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 FreeRTOS开发应用 22 开发流程举例 23 项目定义 项目

11、启动需求分析系统测试发布 维护 概要设计 详细设计 程序编码 单体测试 集成测试 24 Operating System Hardware Application software BSP (firmware) TaskUI Task- sensor fustion Task- BLE 嵌入式实时操作系统 25 开发流程 测试团队 开发者A 开发者B 26 开发流程 测试团队 开发者A 开发者B int main(void) HAL_Init(); SystemClock_Config(); /* task1 definition */ osThreadDef(Task1_UI, UI_Thr

12、ead1, osPriorityNormal, 0, configMINIMAL_STACK_SIZE); /* task2 N definition */ /* Start task11 */ UIThread1Handle = osThreadCreate (osThread(UI), NULL); /* Start task2 N */ /* Start scheduler */ osKernelStart(); /* We should never get here as control is now taken by the scheduler */ for(;); Void UI_

13、Thread1(void) /* application */ /* delay */ osDelay(200); 实际运行 27 Task Task Sensor Task UI Task Task Sensor Task UI Real CPU WorkUser perception 图1图2 28 1.操作系统基本介绍 2.FreeRTOS介绍 3.FreeRTOS开发应用 4.FreeRTOS如何工作 5.STM32Cube FreeRTOS例程介绍 6.附录 目录 29 4.1 FreeRTOS与STM32Cube 4.2 FreeRTOS任务管理 4.3 FreeRTOS内存管理

14、4.4 FreeRTOS任务间通信 4.5 FreeRTOS软件定时器 4.6 FreeRTOS延时 4.7 FreeRTOS临界区与挂起调度器 4.8 FreeRTOS中断嵌套 FreeRTOS与STM32Cube STM32Cube介绍 STM32Cube包括两部分组件: STM32CubeMX PC端的图形化配置工具 用户程序 根据客户的需求 生成代码 Middleware RTOS, USB, TCP/IP, GUI. Hardware abstraction layer STM32Cube 嵌入式软件 我们可以STM32CubeMX很 容易的配置生成FreeRTOS 的测试代码 ST

15、M32CubeMX PC端的图形化配置工具 STM32CubeFWLib 基于STM32的嵌入式软件 库 STM32CubeMX 32 MCU选择 通过型号,外设,封装进行过滤 MCU配置 管脚配置 时钟树配置 外设和Middleware配置 功率评估 代码生成 直接生成工程 支持IAR,Keil,TrueStudio 两种版本 独立的版本 Eclipse插件 MCU配置工具 STM32CubeFWLib STM32Cube软件包(HAL驱动,USB,以太网,文件系统) 33 应用程序 Middleware (RTOS, USB, TCP/IP, FAT, GUI) MCU(内核及外设) BSP Driver HAL Driver Examples CMSIS 应 用 及 中 间 件 固 件 更多关于STM32Cube的资料请参考我们的视频课件: http:/www.stmcu.org/document/list/index/category-555 34 使用STM32CubeMX配置FreeRTOS 35 使用STM32CubeMX生成一个printf的例程 在Pinout 列表中选中中间件FreeRTOS 在Configuration选项页面配置FreeRTOS参数 配置 36 FreeRTOS参数设置 内核参数设定 内存管理设定 任

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号