[英]How to install gcc-arm-none-eabi for MinGW users?
我有興趣將我的 C++ 程序交叉編譯成可以在 ARM MCU 上運行的程序。 為此,我需要安裝gcc-arm-none-eabi
。 我目前在 Windows 7 機器上,所以我已經安裝了 GCC/make/g++/etc。 通過 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~2\GNUTOO~1\4947E~1.920' /foo
mount 'C:\PROGRA~2\GNUTOO~1\4947E~1.920\ARM-NO~1' /foo_local
要發現路徑的短名稱,請在 Windows 命令提示符下寫入dir /X
。 在我的機器上,上面的路徑分別相當於:
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"
然后只需運行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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.