Keil MDK 是否支持编译器?有没有办法选择其他编译器?
可能你使用其他 GUN 工具链进行编译时,会出现类似如下错误:
--- Error: can't execute 'as'
--- Error: can't execute 'gcc'
用于 ARM 芯片的 GCC 编译器有许多不同的变体,现在 Keil MDK 仍然支持 GCC 编译器的,下面就来讲述一下在 Keil MDK 中使用 GCC 编译器工具链。
1、关于 GCCGCC 原本代表“GNU C Compiler”的意思,它属于 GNU 编译器套件。GCC 是 GNU 推出的功能强大、性能优越的多平台编译器,是 GNU 的代表作品之一。
网址:
https://gcc.gnu.org
目前(2020-11)GCC 已经更新到 V10.2 版本了。
早期的 GCC 主要针对于 C 语言,随着编程的发展,现在不仅支持 C 语言,还支持其他很多语言,包括 C++、Ada、Objective-C、Fortran 和 Java 等。
因此,GCC 的意思被重新定义为“GNU Compiler Collection”,也即“GUN 编译器套件”。
GCC 受到广大软件开发者的喜欢,有一个很重要的原因就是免费。你会发现一个问题,很多开源的 IDE,基本上集成的编译器都是 GCC,比如 STM32CubeIDE、RT-Thread Studio 等。
关于 GCC 更多的介绍,可以参看我之前分享的文章 GCC 为何如此强大?
2、下载 GCC 工具链这里使用的 GCC 工具链 其实是“GNU Arm 嵌入式工具链”,是 ARM 官方推荐的一套工具,主要是针对 32 位 Arm Cortex-M、 Cortex-R 和 Cortex-A 系列处理器的一套工具链。
“GNU Arm”包括 GNU 编译器(GCC),可直接从 Arm 免费获得,用于 Windows,Linux 和 Mac OS X 操作系统上的嵌入式软件开发。
下载地址:
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
(公号不支持外链接,请复制链接到浏览器打开)
进入网页,根据自己系统选择合适的版本下载:
当然,我们这里选择 windows 版 exe 文件,或压缩文件。(因为 Keil 只支持 Windows 版本)。
其实,你可以在 gcc 主干上找到分支:
https://gcc.gnu.org/git/gcc.git
3、安装 GCC 工具链方法一:安装 exe 文件在 windows 安装 exe 文件,相比是一个程序员都会安装,根据提示信息,基本上一路“next”下去就行了。
方法二:直接解压 zip 压缩文件如果下载的是 zip 压缩文件,直接解压文件到指定目录即可。
如果你进行了第一种方法 exe 安装,你进入安装目录下,你会发现安装的文件和这里解压的文件一样。
4、Keil 配置 GCC 工具链这里配置方法和我之前分享文章《手把手教你升级 Keil MDK 的 ARM 编译器》中第 3 章节【Keil 配置编译器】方法类似。
打开工程管理,进入“Folders/Extensions”选项栏可以通过菜单:Project -> Manage -> Project items 进入。
也可以通过工具栏工程管理快捷图标进入:
这里切换配置编译器工具方法比较简单,此时就可以和往常一样正常使用了。
5、额外说明切换编译器会导致工程配置选项发生变化,比如:
配置选项发生变化都是小问题,因为不同编译器,代码不兼容性才是大问题,比如你直接编译针对 Arm 编译器的代码,肯定会出问题。
这里的细节比较多,后期抽空再给大家描述切换编译器代码迁移修改的内容。