【问题标题】:How Can I Assemble ARM and Flash to STM32 in Linux?如何在 Linux 中将 ARM 和 Flash 组装到 STM32?
【发布时间】:2021-07-04 14:59:57
【问题描述】:

在这个学期,我有微处理器讲座,我们正在使用 C/C++ 和汇编进行 ARM 开发。

一段时间以来,我一直在寻找 Keil uVision 的替代品,它与 Linux 发行版(现在使用 Arch)兼容并且能够组装 ARM 和闪存,但找不到任何东西。最相关的平台是 Eclipse,但它看起来不支持 ARM 汇编,而且我没有读到任何关于闪存到 STM32 的信息。

我不想在 Windows 上工作以进行 ARM 开发,有没有办法组装 ARM 并烧写它?

【问题讨论】:

  • 试试 GNU 工具链。如果您让我知道您正在使用哪个 Linux 发行版进行编程,我什至可以指定要安装的特定软件包。也可以试试summon ARM toolchain
  • 在我为arm开发工作的最后三个公司中,无论目标是使用linux [或者是嵌入式,*RTOS,还是裸机],他们都使用arm cross- PC上ubuntu下的开发工具。您需要适用于您的平台的 DTB/DTS(“设备树 blob”)文件。值得注意的是,nVidia 的 Jetson 开发工具源自linaro
  • 那里的例子比你有时间阅读更多......这是非常可行的......
  • @craigestey DTB 用于 STM32?请详细说明
  • @CraigEstey 他不会用汇编程序对 MP1 进行编程。这是肯定的。它是 100% uCs(即 STM32Fxx、STM32Lxx、STM32Gxx 或 STM32Hxx)。没有 bootin、linux 或设备树

标签: c++ c assembly arm embedded


【解决方案1】:

非常简单。使用您喜欢的 STM32 uC 安装 STM32CubeIDE for linux 和核苷酸板。按照在线教程进行操作

【讨论】:

    【解决方案2】:

    请注意,Keil 使用 ARM 自己的编译器版本 5 或 6(当前版本的 Keil MDK 支持 v5 作为 ARM 的旧版 ARMCC,而 6 基于 clang/llvm)。如果您正在学习一门课程,并且课程材料基于不同的工具链,您可能会遇到困难 - 或者更糟糕的是,您的导师可能无法标记您的作业。只是在你离开滑雪道之前考虑一下。

    Linux 解决方案可能基于 GNU 工具链。用于 Cortex-M 的 ARM GNU 工具链位于:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm

    烧写 STM32 可以通过 JTAG/SWD 调试器(通常使用 OpenOCD)来完成,也可以通过片上引导加载程序使用诸如http://manpages.ubuntu.com/manpages/bionic/man1/stm32flash.1.html 之类的工具来完成。您的硬件调试器供应商可能有自己的 Linux 驱动程序,因此值得检查。 Mbed 兼容板作为 USB 大容量存储设备存在,只需复制映像文件驱动器即可闪存。

    然而,在 Linux 上构建和刷写只是成功的一半;您可能也想调试您的代码。带有 OpenOCD 或专有驱动程序的 GDB 当然可以工作,但原始 GDB 并不是一种愉快的体验,您可能想要一个更“可视化”的调试解决方案。诸如 STM32CubeIDE 之类的 IDE 集成了工具链、刷写和调试 - 但特定于 STM32。

    【讨论】:

    • 谢谢!这正是我想要的。
    猜你喜欢
    • 2019-06-07
    • 2010-09-23
    • 2012-02-16
    • 2016-10-19
    • 1970-01-01
    • 2012-09-06
    • 2016-10-20
    • 1970-01-01
    • 2021-06-10
    相关资源
    最近更新 更多