[小技巧]使用vscode和armclang编译器改善MDK开发效率

前言:

开发过单片机的同学都对keil不陌生,我们知道keil集成了代码编辑,编译,和调试的功能,极大的方便了我们的开发。但是keil万年不变的代码编辑器对于阅读源代码来说是极其不友好,还有那个已经停止维护的Arm Compiler 5不仅编译慢,还存在隐藏的BUG,都让人难以忍受。

还对Arm Compiler 5和Arm Compiler 6比较陌生的同学,建议首先百度了解一下。

最新版本的MDK虽然只支持到了6.14,但是Arm已经发布了最新版本 6.15,并且在老版本的MDK版本上也可以安装最新版本,安装方法参考傻孩子大佬的文章:老MDK也可以使用新编译器

接下来的内容我们来把VScode编辑代码的优点和Arm Compiler 6编译代码的优点结合到一起,来解决使用MDK开发touchgfx项目编译慢,阅读代码不友好的缺点。

准备工作:

软件: MDK V5.29以上, Visual Studio Code;TouchGFXDesigner v4.15 ,STM32CubeMX V6.0.1

联系作者:

加我微信,备注“加群”,加入技术交流群
在这里插入图片描述

一、使用ARM Compiler 6.15编译TouchGFX工程

1. 替换freertos的port.c和portmacro.h文件
由于STM32CubeMX自动生成的freertos工程默认的是使用ARM Compiler 5编译,所以需要替换可以使用ARM Compiler 6编译的接口。可以在STM32CubeMX软件包的安装目录中按照自己单片机型号找到对应的文件,然后替换掉cubemx自动生成的port.c和portmacro.h。
在这里插入图片描述
由于cubemx每次生成的代码都会自动覆盖,所有如果想永久使用armclang编译器,可以直接把下边目录的文件替换掉。
在这里插入图片描述
2.替换touchgfx_core库文件
进入到touchgfx的库目录,可以发现有Keil和Keil6.x两个文件夹,其中Keil6.x文件夹下对应的库便是给AC6用的。可以手动在mdk中把touchgfx_core更换为Keil6.x文件夹下的touchgfx_core库。
在这里插入图片描述
3.在MDK中设置编译规则
去掉Short enums/Wchar选项
在这里插入图片描述
去掉Micro LIB选项
在这里插入图片描述
4. 最后编译,ac6编译速度会比ac5有明显提升

二、使用VScode的keil插件编辑TouchGFX工程

1. 打开VSCODE安装keil插件
在这里插入图片描述
设置keil的编译器路径
在这里插入图片描述
2. 打开刚才的touchgfx工程
在这里插入图片描述
3.集编辑与编译一体的工具大功告成

扩展阅读:[小技巧]使用静态库提高TouchGFX的编译速度

关注公众号,后续有精彩内容会第一时间发送给您!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_31039061/article/details/109109571