全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

在i.MX RT的FreeRTOS MCUXpresso工程中添加runtime

时间:2023-06-09 09:30

人气:

作者:admin

标签: mcuxpresso  FreeRTOS  恩智  runtime 

导读:在调试 i.MX RT FreeRTOS MCUXpresso SDK工程的时候, 很多网友需要添加查看每个task的runtime功能。...

文档说明

在调试 i.MX RT FreeRTOSMCUXpresso SDK工程的时候, 很多网友需要添加查看每个task的runtime功能。

该功能可以在MCUXpressoIDE的TASK List(FreeRTOS)中调出来: Windows->show view->other->MCUXpresso IDEFreeRTOS->Task List(FreeRTOS),如下图:

6bc1a174-05ea-11ee-962d-dac502259ad0.png

但是在运行i.MX RTSDK工程的时候, 会发现Runtime栏目是一个问号, 如下:

6bcf231c-05ea-11ee-962d-dac502259ad0.png

那么如何配置出具体的Runtime呢?

实际上, 我们有个国外的专家写过一篇基于Kinetis K64的FreeRTOSruntime添加案例。

i.MX RT的SDK FreeRTOS中添加runtime的方法和KINETIS类似, 同样需要添加一个硬件timer去做runtime的记录。K64使用的是FTM, i.MX RT没有FTM的模块,可以换其他的timer, 本文使用PIT硬件定时器去添加到i.MX RTfreetos代码中,实现 MCUXpressoSDK工程的runtime功能。

软硬件准备如下:

MIMXRT1064-EVK

SDK_2.7.0_EVK-MIMXRT1064

MCUXpresso IDE

具体步骤

1. 导入 SDK 工程

本文以SDK FreeRTOShello 工程为基础: SDK_2.7.0_EVK-MIMXRT1064oardsevkmimxrt1064 tos_examplesfreertos_hello 2. 添加PIT 硬件配置

配置的硬件定时器时间需要至少是 RTOS tick 时间 10 倍,从 FreeRTOSConfig.h 中可以看到 RTOS tick 时间:

#define configTICK_RATE_HZ ((TickType_t)200)

所以,需要配置 PIT 的定时时间为 200*10=2Khz

6bdde14a-05ea-11ee-962d-dac502259ad0.png

配置好之后, 点击 update code,更新 PIT 外设驱动到工程的相关代码中。拷贝 SDK 中的 pit.c, pit.h到导入 MCUXpresso 工程的 driver folder中

SDKpit 驱动路径是:

SDK_2.7.0_EVK-MIMXRT1064devicesMIMXRT1064drivers

6c035934-05ea-11ee-962d-dac502259ad0.png

3. 修改代码

3.1freertos_hello.c

添加头文件

6c0e1518-05ea-11ee-962d-dac502259ad0.png

添加 PIT 中断服务函数

6c1f90e0-05ea-11ee-962d-dac502259ad0.png

添加 runtime 相关代码

6c3517da-05ea-11ee-962d-dac502259ad0.png

Main函数添加外设调用

6c44188e-05ea-11ee-962d-dac502259ad0.png

Hello_task任务函数把挂起改为 vTaskDelay.

6c4c2768-05ea-11ee-962d-dac502259ad0.png

3.2 FreeRTOSConfig.h
Run time宏定义打开

6c5ac3ea-05ea-11ee-962d-dac502259ad0.png

添加 runtime 的宏定义相关代码

6c69921c-05ea-11ee-962d-dac502259ad0.png

到目前为止,所有代码已经修改完毕。

测试结果

下面进行烧录到 MIMXRT1064-EVK 测试:

6c86db24-05ea-11ee-962d-dac502259ad0.png

上图中Task List 中runtime,可以看到 hello_task, IDLE 的 runtime 百分比情况, 已经实现 runtime观察功能。

审核编辑:汤梓红

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信