电子说
一、引言
从 TouchGFX Desinger 下载的 TBS(TouchGFX Board Setup)大都带有 MCU 的 负载计算功能,那么如何在自己的板子上增加 MCU 负载计算功能呢?本文档参考从 TouchGFX Designer 上下载的 STM32F746 的 TBS,讲解 MCU 负载计算的实现过程。
二、下载参考代码
打开 TouchGFX Desinger 软件,下载 STM32F746G_DISCO TBS,下载好之后导入 一个带 MCU load 的 UI demo,然后点击生成代码。下边我们来讲解它是如何实现 MCU 负载计算过程。
▲ 图1. TouchGFX Designer 中的 STM32F746G_DISCO TBS
▲ 图2. 导入带 MCU load 的 UI demo
2.1. 修改.extSettings 文件
如图 3 所示,添加以下代码,这样用 STM32CubeMX 生成代码时,就会自动把 CortexMMCUInstrumentation.cpp 添加到对应的 IDE 中。当然前提是要把 CortexMMCUInstrumentation.cpp 和 CortexMMCUInstrumentation.hpp 复制到 TouchGFX/target 文件夹下。
▲ 图3. 添加文件到 IDE
2.2. 开启 USE_IDLE_HOOK
点击 FreeRTOS,设置 USE_IDLE_HOOK 为 ENABLE。
▲ 图4. 使能 USE_IDLE_HOOD
2.3. 修改 freertos.c
声明 vApplicationIdleHook,并添加它的实现代码。同时添加 IdleTaskHook 的声 明。
freertos.c 添加代码
2.4. 修改 TouchGFXHAL.cpp
在 TouchGFXHAL.cpp 添加以下代码
2.5. Model.cpp 中的代码
参考下载的代码,调用以下函数,即是 MCU 负载值的获取。
三、小结
以上就是添加 MCU 负载计算的过程,
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !