【RTOS】基于V7开发板的最新版FreeRTOS V10.2.0程序模板,含MDK和IAR,支持串口打印任务执行情况
模板下载:
链接:https://pan.baidu.com/s/1N32Hx7cTbDoRinuzTUB3zw 提取码:6aox
1、MDK使用MDK5.26及其以上版本。
2、IAR使用IAR8.30及其以上版本。
3、教程直可以先看之前发布的,除了新增的一些功能,其它功能基本没区别:
https://www.cnblogs.com/armfly/p/11256219.html
/* ********************************************************************************************************* * * 模块名称 : 主程序模块。 * 文件名称 : main.c * 版 本 : V1.0 * 说 明 : 本实验主要学习FreeRTOS的串口调试方法(打印任务执行情况) * 实验目的: * 1. 学习FreeRTOS的串口调试方法(打印任务执行情况)。 * 2. 为了获取FreeRTOS任务的执行情况,需要执行如下三个操作 * a. 在FreeRTOSConfig.h文件中使能如下宏 * #define configUSE_TRACE_FACILITY 1 * #define configGENERATE_RUN_TIME_STATS 1 * #define configUSE_STATS_FORMATTING_FUNCTIONS 1 * #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() (ulHighFrequencyTimerTicks = 0ul) * #define portGET_RUN_TIME_COUNTER_VALUE() ulHighFrequencyTimerTicks * b. 创建一个定时器,这个定时器的时间基准精度要高于系统时钟节拍,这样得到的任务信息才准确。 * c. 调用函数vTaskList和vTaskGetRunTimeStats即可获取任务任务的执行情况。 * 实验内容: * 1. 按下按键K1可以通过串口打印任务执行情况(波特率115200,数据位8,奇偶校验位无,停止位1) * ================================================= * 任务名 任务状态 优先级 剩余栈 任务序号 * vTaskUserIF R 1 318 1 * IDLE R 0 118 5 * vTaskLED B 2 490 2 * vTaskMsgPro B 3 490 3 * vTaskStart B 4 490 4 * * 任务名 运行计数 使用率 * vTaskUserIF 467 <1% * IDLE 126495 99% * vTaskMsgPro 1 <1% * vTaskStart 639 <1% * vTaskLED 0 <1% * 串口软件建议使用SecureCRT(V7光盘里面有此软件)查看打印信息。 * 各个任务实现的功能如下: * vTaskTaskUserIF 任务: 接口消息处理 * vTaskLED 任务: LED闪烁 * vTaskMsgPro 任务: 消息处理,这里是用作LED闪烁 * vTaskStart 任务: 启动任务,也就是最高优先级任务,这里实现按键扫描 * 2. 任务运行状态的定义如下,跟上面串口打印字母B, R, D, S对应: * #define tskBLOCKED_CHAR ( 'B' ) 阻塞 * #define tskREADY_CHAR ( 'R' ) 就绪 * #define tskDELETED_CHAR ( 'D' ) 删除 * #define tskSUSPENDED_CHAR ( 'S' ) 挂起 * #define tskRUNNING_CHAR ( 'X' ) 运行 * 注意事项: * 1. 本实验推荐使用串口软件SecureCRT,要不串口打印效果不整齐。此软件在 * V7开发板光盘里面有。 * 2. 务必将编辑器的缩进参数和TAB设置为4来阅读本文件,要不代码显示不整齐。 * * 修改记录 : * 版本号 日期 作者 说明 * V1.0 2019-05-02 Eric2013 1. ST固件库到V1.3.0版本 * 2. BSP驱动包V1.2 * 3. FreeRTOS版本V10.2.0 * * Copyright (C), 2019-2030, 安富莱电子 www.armfly.com * ********************************************************************************************************* */
微信公众号:armfly_com
安富莱论坛:www.armbbs.cn
安富莱淘宝:https://armfly.taobao.com