参考文档
安装虚拟机VM
安装VMware player 17版
设置共享
安装VM工具组件
安装依赖工具
sudo apt update
sudo apt install build-essential
安装 qemu 用户模式模拟器(可选,如果你想要运行 ARM 程序)
sudo apt install qemu-user
安装 GCC 多架构支持
sudo apt install gcc-arm-linux-gnueabihf
如果你需要完整的交叉编译工具链,可以使用 gcc-arm-none-eabi,这是一个轻量级的工具链,适用于嵌入式开发。
添加 Linaro 仓库(Linaro 提供 ARM 交叉编译工具链)
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt update
安装 ARM 交叉编译工具链
sudo apt install gcc-arm-none-eabi
使用交叉编译器
安装完成后,你可以通过以下命令使用交叉编译器:
arm-none-eabi-gcc -v
或者对于 Linux 系统:
arm-linux-gnueabihf-gcc -v
这些命令将显示交叉编译器的版本信息,确认安装成功。
注意事项
确保选择正确的包和工具链版本以匹配你的目标 ARM 架构和操作系统。例如,如果你的目标系统是基于 ARMv7 的 Linux,使用 gcc-arm-linux-gnueabihf 是合适的。对于嵌入式开发,使用 gcc-arm-none-eabi。
如果你在开发嵌入式系统或需要特定硬件支持,考虑使用如 buildroot 或 yocto 等工具链构建系统,它们可以更精细地控制你的交叉编译环境。
通过以上步骤,你应该能够在 Ubuntu 系统上成功安装并使用 GCC 的 ARM 交叉编译器
开启共享文件夹功能
安装VMtools CTRL+ALT+T 打开终端
sudo apt update
sudo apt install open-vm-tools open-vm-tools-desktop
查看共享文件是否存在:
dev@ubuntu:/mnt/hgfs$ vmware-hgfsclient
NUC970-Linux-sdk
dev@ubuntu:/mnt/hgfs$
然后进行挂载:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
注意: 一定要加:allow_other,
这里,.host:/ 表示共享文件夹的路径,/mnt/hgfs 是挂载点,-o allow_other 选项允许其他用户访问挂载的文件夹。
make coidea_nuc972_4.3inch_defconfig
make -j8
3、buildroot编译
在buildroot目录下执行make或make-j8(多线程编译)
make-j8
一段时间后,编译到qt时,需要同意协议。先输入o,按回车,再输入y,按回车。 再过一段时间后编译完成,生产的文件系统镜像位于
buildroot/output/images/rootfs.yaffs2
编译器路径位于
buildroot/output/host/usr/bin
5.3.2 编译 uboot
需要注意的是单独编译的前提条件是已经编译buildroot 1、设置环境变量,在sdk目录下执行命令:
source env.sh
2、进入 uboot 目录:
cd uboot/
3、选择默认配置:
make nuc970_defconfig
4、编译
make
编译完成后,生成镜像位于
uboot/u-boot.bin
uboot/spl/u-boot-spl.bin
5.3.3 编译 kernel
需要注意的是单独编译的前提条件是已经编译buildroot、uboot 1、设置环境变量,在sdk目录下执行命令:
source env.sh
2、进入 kernel 目录:
cd kernel/
3、选择默认配置:
make coidea_972_4.3_cap_defconfig
默认配置文件
4、编译
make uImage -j8
编译完成后,生成内核镜像位于sdk/image/970uimage
5.3.4 复制镜像
在sdk路径下输入以下命令可复制所有镜像到sdk/image文件夹下
./copy.sh
烧录到芯片
安装串口驱动
驱动软件位于 资料\05_驱动&小工具\WinUSB4NuVCOM_NUC970.exe。 NuWriter 必须在Windows 系统中安装VCOM驱动程序才能使用NuWriter工具。 请依据下列步骤来 安装WinUSB4NuVCOM驱动程序:
WinUSB4NuVCOM_NUC970.exe