当前位置: 代码迷 >> 综合 >> Buildroot 在 nuc980 上的应用
  详细解决方案

Buildroot 在 nuc980 上的应用

热度:94   发布时间:2024-02-19 18:25:45.0

Buildroot 是工具链整合工具,使用方法基本可以借鉴,使用说明文件参考:
https://buildroot.org/downloads/manual/manual.html

一、 搭建编译环境

Ubuntu16.04
支持软件:
? Build tools:
o which
o sed
o make (version 3.81 or any later)
o binutils
o build-essential (only for Debian based systems)
o gcc (version 4.8 or any later)
o g++ (version 4.8 or any later)
o bash
o patch
o gzip
o bzip2
o perl (version 5.8.7 or any later)
o tar
o cpio
o unzip
o rsync
o file (must be in /usr/bin/file)
o bc
? Source fetching tools:
o wget
o git
nuc980 buildroot 文件下载地址:
https://gitee.com/OpenNuvoton/NUC970_Buildroot
需要在码云注册用户信息,然后可以下载此源码,可以通过 git clone 方式, 或 Download zip包方式.
在这里插入图片描述二、 配置 buildroot 相关参数
$ make nuvoton_nuc980_defconfig
$ make menuconfig

  1. 修改kernel 和 GNU 下载源地址,可以节省编译时间哈。红色箭头指示位置需要特别关注。
    在这里插入图片描述2) Toolchain 选择缺省方式
    在这里插入图片描述3) 修改内核下载地址,为gitee 码云地址。

在这里插入图片描述指定内核配置文件路径,此文件是单独编译内核使用的defconfig文件,文件存放到图示路径。

  1. 修改Uboot下载地址
    在这里插入图片描述
    指定uboot配置文件路径,此文件是单独编译uboot使用defconfig文件,存放到图示路径。

  2. Busybox 配置文件如图所示

在这里插入图片描述
三、buildroot 编译
第一次编译时划分时间较长,主要是下载各种需要资源文件,保证网络通信。
$ make -j4
Ubuntu环境不同可能会出现各种错误,一般网络下载资源失败比较常见.

四、 配置kernel、uboot、uClibc 的方法
$ make linux-menuconfig
$ make uboot-menuconfig
$ make uclibc-menuconfig
配置方法与单独使用方法相同.
五、 编译输出内容在 output 文件夹下
robot@ubuntu:~/buildroot/build-2016$ ls output/
build host images staging target
编译工具 镜像文件 rootfs 文件
把target 文件下内容拷贝至rootfs文件夹中,就可以使用mkyaffs2 工作制作烧写文件.

六、 实际测试结果
Uboot-spl.bin、uImage、rootfs文件系统烧写至开发板能够正常使用, uboot.bin 文件启动时报env crc 错误,此问题我正在查找中,有知道原因同学告知我一下。

现象描述: uboot编译配置文件采用相同defconfig 文件,未做任何修改,单独使用uboot2016环境编译就没有问题,buildroot 编译出来的uboot.bin 与单独编译文件大小相同。