在Windows下自制ARM交叉编译工具链

参考链接:gnu工具链

1.Download MinGW and MSys packages.

安装MSys

参考此链接https://www.msys2.org/安装,注意只需要安装即可。
请添加图片描述

安装开发环境,设置镜像,需要进入安装路径中的/etc/pacman.d/进行修改

// /etc/pacman.d/mirrorlist.mingw32
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

// /etc/pacman.d/mirrorlist.mingw64
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

// /etc/pacman.d/mirrorlist.msys
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

// /etc/pacman.d/mirrorlist.ucrt64
Server = http://mirrors.ustc.edu.cn/msys2/mingw/ucrt64

修改好上述文件后,重启MSYS,执行以下命令安装基本开发环境:

// Update the package database and base packages
pacman -Syu

然后再次重启MSYS,执行以下命令:

// Update the rest of the base packages 
pacman -Su

// install some tools and the mingw-w64 GCC
pacman -S --needed base-devel mingw-w64-x86_64-toolchain

pacman -S mingw-w64-x86_64-gcc

// gcc安装在mingw64\bin目录
export PATH=/mingw64/bin:$PATH

pacman -S mingw-w64-x86_64-SDL2
pacman -S mingw-w64-x86_64-glib2
pacman -S mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-libwinpthread git
pacman -S mingw-w64-x86_64-pixman
pacman -S git
pacman -S mingw-w64-x86_64-capstone

2.创建目录

在随意目录下创建gnu文件夹,在gnu目录下创建out文件夹

3.进入http://ftp.gnu.org/gnu/binutils/,往下拉查找到最新的tar.bz2结尾的包,下载,并将下载文件复制到gnu目录下。
请添加图片描述

4.打开MSYS2

请添加图片描述

5.进入gnu目录

请添加图片描述

6.解压下载的binutils包,新建build文件夹,并进入该文件夹

请添加图片描述

7.注意第10步需要修改2.39为自己的版本号,且命令为一整行命令。

../binutils-2.39/configure --target arm-eabi --enable-win32-registry=MyToolchainName --prefix /c/gnu/out

请添加图片描述

8.编译

make -j16

请添加图片描述

9.安装输出到out目录

make install-strip

在这里插入图片描述

10 下载gcc包http://ftp.gnu.org/gnu/gcc/

在这里插入图片描述

选择11.3.0版本的包,高版本的gcc包存在bug。

11 使用ie浏览器打开此链接ftp://sourceware.org/pub/newlib/,下载下图中3.1.0newlib包

如果打不开可选择打开newlib库,再选择newlib
在这里插入图片描述

12.准备工作

mkdir gcc-11.3.0-build

在这里插入图片描述

在MSYS2中进入gcc-11.3.0-build目录

cd gcc-11.3.0-build

在MSYS2中解压下载的包

tar -xzvf <包名>

如:

tar -xzvf gcc-11.3.0.tar.gz
tar -xzvf newlib-3.1.0.tar.gz

添加环境变量

export TARGET="arm-eabi"
export PATH="/d/gnu/out/bin:$PATH"

注意/d/gnu/out/bin为自己电脑中/gnu/out/bin目录

13 配置gcc

../gcc-11.3.0/configure --target arm-eabi --enable-win32-registry=MyToolchainName --prefix /d/gnu/out/ --enable-languages=c,c++ --disable-nls --disable-shared --with-newlib --with-headers=../newlib-4.1.0/newlib/libc/include

14 .编译GCC

make -j16

请添加图片描述

15.安装gcc

make install-strip

请添加图片描述

16 新建newlib-3.1.0-build文件夹,并在MSYS2中进入文件夹

mkdir newlib-3.1.0-build
cd ../
cd newlib-3.1.0-build

17.配置newlib

../newlib-3.1.0/configure --target arm-eabi --prefix /d/gnu/out

注意3.1.0修改为自己下载的newlib版本号和/d/gnu/out为自己电脑的目录。

请添加图片描述

18.编译

make

请添加图片描述

19 安装

make install

请添加图片描述

19.下载GDB

用IE浏览器打开ftp://sourceware.org/pub/gdb/releases/ ,选择

请添加图片描述

20.准备工作

tar -xzvf gdb-9.1.tar.gz
 mkdir gdb-9.1-build
 cd gdb-9.1-build/

21.配置

../gdb-9.1/configure --target arm-eabi --prefix /d/gnu/out

22.编译

make -j16

请添加图片描述

19 安装

make install

请添加图片描述

19 编译完成后,增加系统环境变量

1.增加out目录下环境变量

如下图所示,如果对比环境是否增加

D:\gnu\out\libexec\gcc\arm-eabi\11.3.0
D:\gnu\out\lib\bfd-plugins
D:\gnu\out\share\man\man1
D:\gnu\out\bin
D:\gnu\out\arm-eabi\bin

请添加图片描述

2.增加msys2的环境变量

注意此目录为安装msys2下的64位系统的bin目录

D:\installAddress\msys2\mingw64\bin

请添加图片描述

20.编译 libiconv

下载链接:libiconv

请添加图片描述

下载后解压到gnu目录下

请添加图片描述

在msys2终端进入该目录。

输入:

./configure && make && make install

请添加图片描述

等待编译完成。

编译完成后将编译生成的dll加入系统环境变量中

D:\gnu\libiconv-1.17\lib\.libs

请添加图片描述

21.测试arm-eabi-gcc工具链

使用管理员身份运行命令行提示符

请添加图片描述

输入

D:

进入可切换盘符

进入gnu目录,输入

arm-eabi-gcc -v

请添加图片描述

通过上图可以看到arm-eabi-gcc工具链已经配置完成。

22.注意此工具链仅用于裸机程序的编译,仅用于单片机开发板。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
09-20 399

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值