[APM32F4] 【APM32F402R Micro-EVB开发板测评】3、FreeRTOS官方例程烧录

[复制链接]
发表于 2025-8-9 17:20 | 显示全部楼层 |阅读模式
本帖最后由 slytherinsun 于 2025-8-10 19:36 编辑

1.使用VSCode的EIDE插件导入官方FreeRTOS例程
按照上一篇帖子"APM32F402R Micro-EVB开发板测评】2、基于VSCode+Arm GNU Toolchain+pyOCD的开发环境搭建"的5、6、7步导入"APM32F402_403_SDK_V1.0.2/Examples/Board_APM32F402_Tiny/RTOS/CMSIS_FreeRTOS/Project/Eclipse"并配置工程。
其中"7.调试器配置"中"launch.json"文件"excuable"的对应值需要修改为当前工程的可执行文件名称,即:
"executable": "${workspaceFolder}/build/APM32F402/CMSIS_FreeRTOS.elf",

2.工程编译问题
在VSCode升级到版本1.103.0后,直接在EIDE插件中点击"编译"和"烧录"按钮会出现类似以下提示,

" *  正在文件夹 Eclipse 中执行任务: "unify_builder -p d:\WorkFolder\MCU\APM32F402_403_SDK_V1.0.2\Examples\Board_APM32F402_Tiny\RTOS\CMSIS_FreeRTOS\Project\Eclipse\build\APM32F402\builder.params"


文件名、目录名或卷标语法不正确。


*  终端进程“cmd.exe /C ""unify_builder -p d:\WorkFolder\MCU\APM32F402_403_SDK_V1.0.2\Examples\Board_APM32F402_Tiny\RTOS\CMSIS_FreeRTOS\Project\Eclipse\build\APM32F402\builder.params""”已终止,退出代码: 1。
*  终端将被任务重用,按任意键关闭。 "

原因为当前版本VSCode修改了"shell 任务参数的自动引用",目前EIDE社区正确确认并准备修复,根据EIDE社区提供的临时解决方式有以下两种:
1).回退VSCode至1.102.3可进行编译及烧录。
2).在VSCode设置"Ctrl + ."中找到"EIDE.Option:Use Task To Build"并取消勾选。可进行编译调试,无法直接烧录。

当前按第二种临时解决方式进行操作。取消勾选后可正常编译

3.FreeRTOS调试之任务查看
工程编译完成后,点击调试按钮进行调试。

等进入调试状态后,点击运行按钮并再次点击暂停调试。此时在VSCode界面下方终端界面的XRTOS插件中可以看到FreeRTOS中当前运行的任务及状态。

4.FreeRTOS调试之栈相关信息获取
上一步中各任务的栈相关信息为"?",原因是在当前FreeRTOS中未开启"configRECORD_STACK_HIGH_ADDRESS "选项。
在"FreeRTOS.h"中修改对应宏定义为1并重新编译调试即可。
"#ifndef configRECORD_STACK_HIGH_ADDRESS

    #define configRECORD_STACK_HIGH_ADDRESS    1

#endif"
此时即可在XRTOS插件中看到各任务栈相关信息


您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

23

帖子

0

粉丝
快速回复 返回顶部 返回列表