作者 | 将狼才鲸 |
---|---|
创建日期 | 2022-11-14 |
- Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件)
- CSDN文章地址:项目介绍:开源安防摄像机(嵌入式软件)
4.3 MSYS2中安装32位和64位ARM交叉编译工具
-
树莓派提供了在Linux下使用的交叉工具包的文件夹名为gcc-linaro-arm-linux-gnueabihf-raspbian-x64,使用的编译器名为arm-linux-gnueabihf-gcc,下载地址raspberrypi-tools/ arm-bcm2708。
-
GNU官方提供了树莓派在Windows中使用的交叉工具包,默认的工具是使用Visual Studio + VisualGDB来进行编译的。
32位地址:Prebuilt Windows Toolchain for Raspberry Pi
64位地址:Prebuilt Windows Toolchain for Raspberry Pi (64-bit) -
ARM在Windows下自带的交叉编译工具为gcc-arm-none-eabi-10.3-2021.10-win32.exe,网页路径在https://developer.arm.com/downloads/-/gnu-rm ,交叉编译工具名为arm-none-eabi-gcc,我们不使用树莓派自带的交叉编译工具,而直接使用ARM的;因为树莓派没有在MinGW下编译它的交叉编译工具,而我也不想在Cygwin环境使用树莓派的Linux交叉编译工具。
-
但也不在ARM官方下载,我们在MSYS2中同样也能找到:在https://packages.msys2.org/base 中能搜到mingw-w64-arm-none-eabi-gcc和mingw-w64-arm-none-eabi-gdb
- MSYS2下载命令 pacman -S mingw-w64-x86_64-arm-none-eabi-gcc,大小有1.24 GB,参考网址:Package: mingw-w64-x86_64-arm-none-eabi-gcc
- GDB调试工具下载的命令 pacman -S mingw-w64-x86_64-arm-none-eabi-gdb,大小有7.92 MB,参考网址:Package: mingw-w64-x86_64-arm-none-eabi-gdb
- 安装完成后的文件在msys64/mingw64/bin/arm-none-eabi-gcc.exe
- 如果你需要使用aarch64-elf-gcc编译64位的ARM程序,在新版的树莓派中运行,则MSYS2网站中没有,你要去Linaro软件中下载。
-
如果有需要,你也可以安装用于64位ARM的交叉编译工具。
- 软件名称:gcc-linaro-7.5.0-2019.12-i686-mingw32_aarch64-linux-gnu.tar.xz ,大小364M
- 下载路径:https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/
- 下载完之后放到msys64/mingw32/bin/里面去,用Linux命令解压,然后设置环境变量,使用方法和32位gcc交叉编译工具一样
- 我msys64中的路径是msys64/mingw32/bin/gcc-linaro-7.5.0-2019.12-i686-mingw32_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc.exe
- 在Linaro这里也能下到32位的GCC交叉编译工具:gcc-linaro-7.5.0-2019.12-i686-mingw32_arm-linux-gnueabihf.tar.xz
- https://www.linaro.org/ Linaro公司主要是做ARM的一些开源工具,树莓派也是直接使用的Linaro编译器。
-
参考网址:
- Windows下编译树莓派pico C\C++(Building on MS Windows)
- 树莓派 交叉编译环境搭建(Win 7)
- 【交叉编译踩坑指北(二)】windows10下VScode构建树莓派pico开发环境(C/C++)
- 树莓派2 raspyberry Pi2 交叉编译app
- Windows10下 交叉编译aarch64(ARMv8)架构Qt5.12.11库
4.4 用现成的程序从QEMU运行树莓派
- 在以下网址https://gitee.com/mirrors_bztsrc/raspi3-tutorial/tree/master/01_bareminimum 下载编译好的树莓派程序,我已下载好,存放在msys64家目录下的01_run文件夹中
- 使用命令运行:/mingw64/bin/qemu-system-aarch64 -M raspi3b -kernel ~/raspi/01_run/kernel8.img -d in_asm
- 能看到出现了QEMU窗口,并显示了hello world。
效果如下: