- 1
- 0
- 约小于1千字
- 约 8页
- 2026-03-08 发布于北京
- 举报
创建任务FreeRTOS内核实现与应用开发实战指南淘宝:论坛:扫描进入淘宝店铺
01创建单任务—SRAM静态内存02创建单任务—SRAM动态内存03创建多任务—SRAM动态内存参考资料:《FreeRTOS内核实现与应用开发实战指南》主讲内容
硬件初始化为了方便以后统一管理板级外设的初始化,我们在main.c文件中创建一个BSP_Init()函数,专门用于存放板级外设初始化函数。整个系统的运作流程BSP_Init()创建任务启动调度器····
创建单任务—SRAM静态内存1.定义任务函数2.空闲任务与定时器任务堆栈函数实现3.定义任务栈4.定义任务控制块5.静态创建任务6.启动任务
创建单任务—SRAM动态内存思考一下:动态内存空间的堆从哪里来?在创建单任务—SRAM静态内存的例程中,任务控制块和任务栈的内存空间都是从内部的SRAM里面分配的,具体分配到哪个地址由编译器决定。现在我们开始使用动态内存,即堆内存,也属于SRAM。FreeRTOS做法是在SRAM里面定义一个大数组作为堆内存空间,供FreeRTOS的动态内存分配函数使用。堆内存的大小为configTOTAL_HEAP_SIZE,在FreeRTOSConfig.h中由我们自己定义,configSUPPORT_DYNAMIC_ALLOCATION这个宏定义在使用FreeRTOS操作系统的时候必须开启。注意:定义的堆大小不能超过内部SRAM的总大小。
创建单任务—SRAM动态内存1.定义任务函数2.定义任务控制块指针3.动态创建任务4.启动任务
创建多任务—SRAM动态内存1.定义任务函数2.定义任务控制块指针3.动态创建多个任务4.启动任务
THANKSFreeRTOS内核实现与应用开发实战指南论坛:淘宝:扫描进入淘宝店铺
原创力文档

文档评论(0)