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

    文章

    107

    浏览量

    24835
  • keil
    +关注

    关注

    68

    文章

    1212

    浏览量

    166838
  • MDK
    MDK
    +关注

    关注

    4

    文章

    209

    浏览量

    32063

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

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

收藏 人收藏

    评论

    相关推荐

    分享关于编译器的科普

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

    分享一个keil MDK编译信息增强工具

    今天给大家分享一个 keil MDK 编译信息增强工具keil-build-viewer. 1
    的头像 发表于 11-14 11:01 409次阅读

    RISC-V 工具简介

    一、概述 “工具”是英文“toolchain”的翻译,它指辅助开发者完成程序开发、调试、性能分析调优等开发优化行为的一系列工具集合。它一般包含编译器、汇编
    发表于 10-25 22:59

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 497次阅读
    <b class='flag-5'>Keil</b><b class='flag-5'>编译器</b>优化方法

    keil软件实现编程仿真需要哪些步骤

    Keil MDK-ARM 是一款广泛使用的集成开发环境(IDE),专为 ARM Cortex-M 微控制编程而设计。它提供了代码编辑、编译、链接、调试和仿真等功能。 1. 安装
    的头像 发表于 09-02 10:28 1059次阅读

    怎样将keil中的程序导出

    1. 准备工作 在开始导出程序之前,需要确保已经完成了以下准备工作: 安装Keil MDK-ARM软件。 创建一个新的项目,并添加所需的源文件和库文件。 配置项目设置,包括芯片型号、编译器选项、链接
    的头像 发表于 09-02 10:23 1478次阅读

    keil5怎么利用sys进行配置ti环境

    设计。 安装TI ARM工具: 要为TI微控制开发应用程序,您需要安装TI ARM工具。这包括编译
    的头像 发表于 09-02 10:19 540次阅读

    嵌入式学习-常用编辑GCC编译器

    本帖最后由 jf_13411809 于 2024-8-28 10:26 编辑 GCC(GNU Compiler Collection)是由GNU开发的编程语言编译器,最初是作为GNU操作系统
    发表于 08-27 10:17

    常用编辑GCC编译器

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

    2k0300的loongarch32编译器有获得方式吗?

    /release/loongarch/gcc8/ 中只找到了 loongarch64 的 gcc,希望能获得 loongarch32 编译工具
    发表于 08-19 23:05

    AI编译器技术剖析

    随着人工智能技术的飞速发展,AI编译器作为一种新兴的编译技术逐渐进入人们的视野。AI编译器不仅具备传统编译器的功能,如将高级语言编写的源代码转换为机器可执行的代码,还融入了人工智能技术
    的头像 发表于 07-17 18:28 1615次阅读

    人工智能编译器与传统编译器的区别

    人工智能编译器(AI编译器)与传统编译器在多个方面存在显著的差异。这些差异主要体现在设计目标、功能特性、优化策略、适用范围以及技术复杂性等方面。以下是对两者区别的详细探讨,旨在全面解析其内在差异。
    的头像 发表于 07-17 18:19 1833次阅读

    使用mdk编译时,提示警告的原因?

    在使用mdk编译时,提示警告..MiddlewarescJSONcJSON.c(2001): warning:#2803-D: unrecognized GCC pragma 我使用的是v5的
    发表于 05-27 07:02

    怎么在NanoEdge AI Studio设定交叉编译器呢?

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

    STM32CubeMX生成FreeRTOS的MDK工程不支持AC6编译器吗?

    使用STM32CubeMX生成FreeRTOS的MDK工程,选择AC5编译器可以编译成功,选择AC6编译器有很多错误,是STM32CubeMX生成FreeRTOS的
    发表于 03-06 08:24