发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
打印
[开发工具]

Cmake加ARMClang构建雅特力AT32基于CLion IDE的开发环境,未来,必定是属于ARMClang的未来!

[复制链接]
1297|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 万能的互联网 于 2024-2-27 22:53 编辑

#申请原创#   @21小跑堂

GCC编译工具,全称GNU Complier Collection。

ARMCC编译工具,即ARM Compiler 5,简称AC5。ARMCC可以拆分为,ARM+CC。前部分的ARM,可以对应GCC的GUN部分,两者的汇编语法是不太一样的。顾名思义,ARMCC基于GCC开源编译器开发。GCC和ARMCC的差距是,ARMCC是专门针对ARM架构单片机做了特调优化的。毕竟,应该没有人比ARM公司,更懂得ARM架构了吧?

ARMClang编译工具,即ARM Compiler 6,简称AC6,基于LLVM和Clang技术开发。讲到这里,不难看出,ARMCC比ARMClang差了一代。所以,GCC和ARMClang相比,就差了一代加上ARM单片机专用编译工具特调优化的差异。对于单片机开发的编译工具来说,3个编译工具的排名等价于,GCC < ARMCC < ARMClang。

有人抱怨GCC编译出来的单片机固件体积大,不可控的编译优化,代码执行效率相比AC5、6低。

综上所述,我们已经,简短的梳理和概括了,这几个单片机开发工具。剩下的,留给各位单片机开发者去思考。



AT32的GCC开发环境,我已经玩过了,目前升级到了ARMClang的开发环境。搭建开发环境,主要有以下2种思路:

第1种:CLion独立开发环境,CLion  IDE + Cmake  + ARMClang工具链 ,CLion负责代码编辑和提示,编译与下载。当然,不一定非得用CLion,其他支持Cmake和ARMClang工具链的IDE,理论上应该都能支持,例如QT Creator,我没用过。但这种方式,可能不适合团队协作开发。

第2种:CLion IDE + Keil搭配,CLion使用cmake负责代码编辑和提示,Keil负责编译下载和调试。只要在项目中新建mdk_v5文件夹,并创建mdk工程。这种方式,更简单可靠,还可以团队协作。

我个人对于以上2种开发环境的点评:Cmake  + ARMClang工具链,可能会遇到在keil中不会出现的报错。相比之下,第2种,更加保险,同时又能解决keil的痛点。


工具链版本:
Cmake:       v3.27.8                                                                            CLion自带
ARMClang:   v6.21                                                                             ARM
MingW64:   x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev1                github
openocd:   v2.0.4                                                                              雅特力AT32官方提供  AP Note 0130



1;工具链设置



2;openocd的cfg配置文件



3;openocd下载与运行设置



4;CmakeLists.txt文件




5;构建成功,输出hex文件



6;mdk_v5文件夹



7;keil项目,编译成功




8;系统环境变量


9;CMakeLists.txt
CMakeLists文件参考配置.zip (3.49 KB)






使用特权

评论回复

打赏榜单

ArterySW 打赏了 20.00 元 2024-02-28
理由:内容优秀

沙发
liaozhen| | 2024-3-30 22:23 | 只看该作者
先进

使用特权

评论回复
板凳
caigang13| | 2024-4-1 08:19 | 只看该作者
跨平台开发是未来趋势

使用特权

评论回复
地板
LEDyyds| | 2024-4-7 17:02 | 只看该作者
这个平台确实比传统的平台好看多了

使用特权

评论回复
5
呐咯密密| | 2024-4-19 12:03 | 只看该作者
这个界面极度舒适

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

23

帖子

0

粉丝