gpt4 book ai didi

embedded - Linux 上的 ARM 开发

转载 作者:行者123 更新时间:2023-12-02 22:15:38 27 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我从 Texas Instruments 购买了 Tiva C 系列 LaunchPad TM4C123G 评估套件。该套件包含一个带有 ARM Cortex M4F 微 Controller 的小型 PCB。现在我想开始为这个微 Controller 编写软件。我习惯在 Windows 上使用 AVR Studio 对 AVR 8 位微 Controller 进行编程。我听说在 Linux 上编写基于 ARM 的微 Controller 应该很容易,而且由于 Linux 是我的主要平台,我想要一个简单的 IDE,它或多或少地像我习惯的 AVR 一样工作。

几天来,我一直在寻找可以完成这项工作的优秀 IDE 和工具。令我惊讶的是,只有少数可以在 Linux 上运行,而且没有一个是开源或免费软件。这真的是真的吗?我不想花几百美元来尝试一些针对 Cortex M4F 的编程。当我发现它不够好或太贵时,我也不想现在学习一个 IDE,然后再学习另一个。我习惯了 Linux 和开源的做事方式,我很震惊,似乎没有人在 Linux 上使用开源工具进行任何认真的嵌入式 ARM 编程。如果我错了,请纠正我。

我没有在 Cortex M4F 上运行 Linux 的计划——我只想像普通微 Controller 一样对其进行编程。

Texas Instruments 建议在评估套件的封底上使用以下工具链之一:

  • Code Composer Studio IDE:全功能板锁定
  • Keil:32KB 地址限制
  • IAR:32KB 地址限制
  • Mentor Embedded Sourcery CodeBench:30 天全功能

  • 我也被 code_red 推荐了 Red Studio。

    既不是开源的,也不是免费的,都有限制。在我看来,只有 Code Composer Studio 和 Red Studio 与 Linux 兼容。

    我偶然发现了另一个产品,Rowley CrossWorks,它也兼容 Linux,但仍然非常商业化且价格昂贵。

    真的没有开源替代品吗?大多数产品似乎都使用Eclipse和GCC,没有这些商业包应该可以做到,对吧?我只是找不到任何教程或指南来解释如何为嵌入式 ARM 编程进行设置。我还需要知道如何在编译后对设备进行编程。

    我真的很想尽快开始。非常感谢任何建议和想法:-)

    最佳答案

    无论您使用哪种评估板,它总是一样的:STM32 discovery、LPCXpresso、TI Launchpads。它们非常便宜,但推荐的 IDE 是有限的:它们的代码大小是有限的,仅限 Windows,或者它们绑定(bind)到特定的 Linux 发行版。

    根据我的经验,选择取决于您的长期目标:

  • 您想与 AVR 8 位(或 PIC32、Renesas RX 32、...)共享代码吗?
  • 拥有一个基于 make 的构建系统是否是一个中长期目标? ?
  • 您需要制表符补全和/或集成调试器吗?
  • 您是否想在 future 尝试其他评估板(无需被迫安装另一个 IDE)?

  • 或者你只是想让这个快速启动并运行。在这种情况下,我会使用推荐的 IDE 之一来获得印象。

    另一方面,我使用过的所有 32 位微 Controller (Cortex-M0/3/4、PIC32、Renesas RX)都可以使用 gcc 进行编程。 .据我所知,Code Red、Mentor 和 MPLABX 使用 gcc (或修改后的 gcc )。

    所以总有可能使用 EclipseMakefile项目和 gcc .
    我已经尝试了两次,但对我来说效果不佳,因为我在不同的目标之间共享库,而且我发现很难在 Eclipse 中传递定义。

    所以我的 IDE 是 Makefile , Emacs , 和 gcc ,并且我已经完全切换到使用 C++:这可能是使用 gcc 的另一个优点.

    两种可能性(带有 Makefile 项目的 Eclipse 或仅带有 make 的编辑器)都不是“现成的”:它们需要时间、耐心和您最喜欢的 Internet 搜索引擎。

    更新

    我不知道关于如何设置基于 GCC + make 的环境的完整教程,所以我只是描述了几年前我做的基本步骤(有一些变化)。
  • https://launchpad.net/gcc-arm-embedded 获取用于 ARM 的 GCC 的二进制分发版

  • 以下步骤是 STM32 特定的:
  • 获取其中一个发现板,例如 STM32 值(value)线 Discovery。
  • 获取 flash 实用程序:我正在使用 STLink ( git clone https://github.com/texane/stlink.git )。这也包括一个 GDB 后端。
  • 有各种各样的例子,搜索“stm32vl discovery blink”(我这里不推荐一个,我用的那个已经消失了)

  • 作为替代(或后续):获取外围固件示例
  • 您将在 Project/Examples/GPIOToggle/TrueSTUDIO/stm32_flash.ld 中找到与 GNU ld 兼容的链接器脚本。
  • 您将在 Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO/startup_stm32f10x_ld_vl.s 中找到一个 GNU 兼容启动。
  • 您将在 .zip 存档中找到所有其他必需的库,包括文件和源文件以及
  • 查看 GPIOToggle 项目(Project/Examples/GPIOToggle)
  • 编写 Makefile 进行编译、链接和闪存
  • 关于embedded - Linux 上的 ARM 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17777563/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com