文档说明
在调试 i.mx rt freertos mcuxpresso sdk工程的时候, 很多网友需要添加查看每个task的runtime功能。
该功能可以在mcuxpressoide的task list(freertos)中调出来: windows->show view->other->mcuxpresso idefreertos->task list(freertos),如下图:
但是在运行i.mx rt sdk工程的时候, 会发现runtime栏目是一个问号, 如下:
那么如何配置出具体的runtime呢?
实际上, 我们有个国外的专家写过一篇基于kinetis k64的freertos runtime添加案例。
i.mx rt的sdk freertos中添加runtime的方法和kinetis类似, 同样需要添加一个硬件timer去做runtime的记录。k64使用的是ftm, i.mx rt没有ftm的模块,可以换其他的timer, 本文使用pit硬件定时器去添加到i.mx rt freetos代码中,实现 mcuxpressosdk工程的runtime功能。
软硬件准备如下:
mimxrt1064-evk
sdk_2.7.0_evk-mimxrt1064
mcuxpresso ide
具体步骤
1. 导入 sdk 工程
本文以sdk freertos hello 工程为基础: 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
配置好之后, 点击 update code,更新 pit 外设驱动到工程的相关代码中。拷贝 sdk 中的 pit.c, pit.h到导入 mcuxpresso 工程的 driver folder中
sdkpit 驱动路径是:
sdk_2.7.0_evk-mimxrt1064devicesmimxrt1064drivers
3. 修改代码
3.1freertos_hello.c
添加头文件
添加 pit 中断服务函数
添加 runtime 相关代码
main函数添加外设调用
hello_task任务函数把挂起改为 vtaskdelay.
3.2 freertosconfig.h
run time宏定义打开
添加 runtime 的宏定义相关代码
到目前为止,所有代码已经修改完毕。
测试结果
下面进行烧录到 mimxrt1064-evk 测试:
上图中task list 中runtime,可以看到 hello_task, idle 的 runtime 百分比情况, 已经实现 runtime观察功能。
采用FPGA的SPWM变频系统设计
联发科与中国联通、中国电信共同携手推动5G关键技术落地
PCB设计中控制阻抗有何重要性
基于CW32单片机的公交站人流检测系统设计
画面处理轻而易举,T2751Q显示器做你的生产力工具!
在i.MX RT的FreeRTOS MCUXpresso工程中添加runtime
迪龙采用DSP控制器打造高性能数字式电动汽车DCDC电源
说到机海战术,如今运用的最成熟的非华为莫属
什么是均衡控制技术呢?为什么能提高动力电池的续航能力呢?
继电器的介绍和在使用时应该注意的六点详细资料概述
小米新机Meri曝光,搭载小米松果自主处理器?
154亿下的思考:2012华为手机所犯下的错
串口服务器在广播监控中的应用
联想到底想干什么?又是砍掉手机又是投资农业
IBM收购红帽进军云计算市场
安卓手机企业持续提升手机售价
恒流电路原理图设计方案介绍
居民供暖室温无线监测系统
移动机器人中的控制学问题
薄膜表面缺陷在线检测仪器实现更高效率的生产线