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

sme*_*eeb 5 c++ windows gcc arm cross-compiling

我对采用C ++程序并将其交叉编译为可以在ARM MCU上运行的程序感兴趣。为此,我必须已gcc-arm-none-eabi安装。我目前在Windows 7计算机上,因此已经安装了GCC / make / g ++ / etc。通过MinGW。

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

Lig*_*ica 6

您可以为此使用 MinGW;您只需要为您选择的工具链更换 C++ 工具链。您仍然可以从 MSYS 控制台调用它,并且您的所有其他工具仍然可以使用。MinGW 或 MSYS 没有任何固有的东西使这“不受支持”。

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

   mount 'C:\PROGRA~2\GNUTOO~1\4947E~1.920' /foo
   mount 'C:\PROGRA~2\GNUTOO~1\4947E~1.920\ARM-NO~1' /foo_local
Run Code Online (Sandbox Code Playgroud)

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

  • C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4
  • C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\arm-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"
Run Code Online (Sandbox Code Playgroud)

然后就跑g++

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

/foo/bin/g++
Run Code Online (Sandbox Code Playgroud)