如何为MinGW用户安装gcc-arm-none-eabi



我有兴趣把我的c++程序交叉编译成可以在ARM MCU上运行的东西。要做到这一点,我需要安装gcc-arm-none-eabi。我目前在Windows 7机器上,所以我安装了GCC/make/g++/等。通过MinGW。

从我所做的研究来看,MinGW似乎不支持这个工具链,这使我相信基于windows的ARM开发是不可能的。所以我问:如何使用MinGW在本地安装gcc-arm-none-eabi工具链?

您可以使用MinGW;您只需要将c++工具链替换为您选择的工具链。您仍然可以从MSYS控制台中调用它,并且所有其他工具仍然可以工作。没有MinGW或MSYS固有的东西使它"不支持"。

我个人从launchpad.net安装GCC 4.9 GCC -arm-none-eabi,在MSYS中挂载工具链目录,然后导出我需要的路径:

   mount 'C:PROGRA~2GNUTOO~14947E~1.920' /foo
   mount 'C:PROGRA~2GNUTOO~14947E~1.920ARM-NO~1' /foo_local

要发现路径的短名称,在Windows命令提示符中写入dir /X。在我的机器上,上面的路径分别相当于以下内容:

  • C:Program Files (x86)GNU Tools ARM Embedded4.9 2014q4
  • C:Program Files (x86)GNU Tools ARM Embedded4.9 2014q4arm-none-eabi

只需要安装一次;export指令可以添加到/etc/profile:

   export CPPFLAGS="-I/foo_local/include"
   export CFLAGS="-I/foo_local/include"
   export CXXFLAGS="-I/foo_local/include"
   export LDFLAGS="-L/foo_local/lib -mthreads"
   export PATH=".:/foo_local/bin:/foo/bin:/bin:/opt/bin"

然后运行g++

当然,你也可以跳过所有的导出业务,直接调用你选择的GCC:

/foo/bin/g++

如果您使用的是MSYS2,遵循MinGW,则可以通过pacman安装arm-none-eabi-gcc你可以从这里下载:https://www.msys2.org按照说明正确设置环境。然后使用

下面的命令
pacman -S mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-libwinpthread-git

现在你还需要将它添加到PATH,

echo "export PATH=$PATH:/mingw64/bin" >> ~/.bashrc
source ~/.bashrc

然后,您现在可以使用MSYS2 shell调用arm-none-eabi-gcc。查看此包的详细信息https://packages.msys2.org/group/mingw-w64-x86_64-arm-none-eabi-toolchain

ELLCC是另一个选择。您不一定需要安装mingw或mingw-64来运行它,因为它是静态链接的。这篇文章讨论了如何使用它来瞄准Windows,但同样的二进制文件也可以用来瞄准ARM和其他处理器。它基于clang/LLVM,而不是gcc。

相关内容

  • 没有找到相关文章

最新更新