0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Keil MDK中使用GCC编译器工具链

strongerHuang 来源:strongerHuang 作者:strongerHuang 2020-11-20 15:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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进入。 也可以通过工具栏工程管理快捷图标进入:

这里切换配置编译器工具方法比较简单,此时就可以和往常一样正常使用了。

strongerHuang

5

额外说明切换编译器会导致工程配置选项发生变化,比如:

配置选项发生变化都是小问题,因为不同编译器,代码不兼容性才是大问题,比如你直接编译针对Arm编译器的代码,肯定会出问题。 这里的细节比较多,后期抽空再给大家描述切换编译器代码迁移修改的内容。

责任编辑:xj

原文标题:手把手教你在Keil MDK中使用GCC编译器工具链

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GCC
    GCC
    +关注

    关注

    0

    文章

    112

    浏览量

    26067
  • keil
    +关注

    关注

    69

    文章

    1224

    浏览量

    171798
  • MDK
    MDK
    +关注

    关注

    4

    文章

    211

    浏览量

    33463

原文标题:手把手教你在Keil MDK中使用GCC编译器工具链

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    飞凌嵌入式ElfBoard-Vim编辑GCC编译器的安装

    GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器,最初是作为GNU操作系统的编译器编写的。GCC是一个编译器
    发表于 10-15 08:44

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译呢?

    GCC编译器,怎么才能实现c文件中未被调用的函数,不会被编译?有什么编译选项可以设置吗? 移植代码,有些函数没被调用的函数想留在代码里,但不想被编译
    发表于 09-28 12:25

    scons+gcc每次编译后怎么才能打印出 error总数 和 warning总数?

    MDK 和 IAR 编译器好像有这样的功能,不知道gcc怎么才能搞出来这种功能? 谢谢!
    发表于 09-28 12:09

    请问如何在keil μVision 5上进行ARM编译器的代码优化?

    何在keil μVision 5上进行ARM编译器的代码优化?
    发表于 08-20 07:37

    何在Keil中将NuMicro BSP从Arm编译器5迁移到编译器6?

    Keil中将NuMicro BSP从Arm编译器5迁移到编译器6!
    发表于 08-20 06:29

    求助,关于NanoEdge AI Studio生成的库交叉编译器版本疑问求解

    20231009\", 那么问题来了,怎么在NanoEdge AI Studio设定交叉编译器呢,比如设置为armcc、armclang、iccram,因为我需要将库加到keil或者iar工程里面。 看样子这个软件生成的库是arm-g
    发表于 08-08 07:25

    编译器功能安全验证的关键要素

    在汽车、工业、医疗等安全关键型应用中,确保功能安全合规性需要严格的工具验证。开发安全关键型软件的企业必须遵守ISO 26262、IEC 61508、ISO 62304等国际标准对编译器工具
    的头像 发表于 07-05 13:37 1293次阅读

    scons+gcc每次编译后,如何才能打印出error总数和warning总数?

    MDK 和 IAR 编译器好像有这样的功能,不知道gcc怎么才能搞出来这种功能? 谢谢!
    发表于 04-01 06:21

    请问基于GCC编译器的initcall在STM32如何实现?

    请问各位基于GCC编译器的initcall在STM32如何实现?有哪位实现了吗?
    发表于 03-13 06:24

    ubuntu24.04上安装gcc工具出现报错怎么解决?

    虚拟机安装的ubuntu24.04.1,默认gcc版本13,从芯来官网下载了对应的gcc版本的工具,到最后编译报错: riscv64-un
    发表于 03-07 12:39

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令选择
    的头像 发表于 12-25 09:09 1825次阅读

    Triton编译器在机器学习中的应用

    1. Triton编译器概述 Triton编译器是NVIDIA Triton推理服务平台的一部分,它负责将深度学习模型转换为优化的格式,以便在NVIDIA GPU上高效运行。Triton编译器支持
    的头像 发表于 12-24 18:13 1627次阅读

    Triton编译器与其他编译器的比较

    的GPU编程框架,使开发者能够编写出接近手工优化的高性能GPU内核。 其他编译器 (如GCC、Clang、MSVC等): 定位:通用编译器,支持多种编程语言,广泛应用于各种软件开发场景。 目标:提供稳定、高效的
    的头像 发表于 12-24 17:25 1580次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程语言特性和优化技术
    的头像 发表于 12-24 17:23 2681次阅读

    分享关于编译器的科普

    源代码分析工具和IDE集成。GCC被构建成一个单一的静态编译器,这使得它非常难以被作为API并集成到其他工具中。 GCC比Clang支
    的头像 发表于 12-09 09:49 907次阅读