【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
    *
    *********************************************************************************************************
    */


原文地址:https://www.cnblogs.com/armfly/p/11256116.html