打印
[应用方案]

NUC972的BSP包的使用

[复制链接]
516|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、NUC972的BSP包安装好后内容如下:



applications:示例程序以及开源软件,例如busybox, wireless tool…

buildroot:可用来编译内核,交叉编译工具,应用程序...等的集合

image/kernel:使用默认设置预先编译好的内核

image/U-Boot:使用默认设置预先编译好的支持NAND或SPI flash的U-Boot执行档及环境变量env.txt档。其中U-Boot的默认执行地址为0xE00000。

linux-3.10.x:内核源码

rootfs(rootfs_48):根文件系统(arm_linux_4.8环境使用)

rootfs_eth2uart:根文件系统(Eth2UART开发板使用)
rootfs_tomato:根文件系统 (Tomato开发板使用)
uboot:U-Boot V2013RC4源码
uboot.v2016.11:U-Boot V2016.11 源码


使用特权

评论回复
沙发
xiaoqizi|  楼主 | 2021-6-4 15:02 | 只看该作者
二、编译前的准备

NUC972的BSP自带了交叉编译器,安装完了BSP包,交叉编译器也随着被安装了,路径在/usr/local/arm_linux_4.8/usr/bin。把这个路径加入$PATH中,执行:

gedit /etc/profile
在profile中加入:

PATH="$PATH:/usr/local/arm_linux_4.8/usr/bin"
export PATH
保存退出。



执行

source /etc/profile
让其生效,现在执行

echo $PATH


可以看到PATH已经更新了。再执行

arm-linux-gcc -v
可以看到arm-linux-gcc的版本号,说明交叉编译器已经没问题了。



因为NUC972的BSP包是在32位系统下生成的,如果你的系统是64位的,那么就还需要安装32位的兼容包才可以使用BSP包中的二进制工具。执行

apt-get install libgtk2.0-0:i386 libxtst6:i386 gtk2-engines-murrine:i386 lib32stdc++6 libxt6:i386 libdbus-glib-1-2:i386 libasound2:i386
再执行

apt-get install g++
安装完成后,进入BSP包中的uboot文件夹

cd uboot
执行

make distclean


如果怎么样都不行,可能就要换32位的系统了。(本人就是先装的64位的Ubuntu18.04,然后搜遍了网上也没有办法执行BSP包中的32位工具,所以只好重新装了32位的Ubuntu14.04)


使用特权

评论回复
板凳
xiaoqizi|  楼主 | 2021-6-4 15:03 | 只看该作者
三、编译Uboot

进入BSP包中的uboot文件夹

cd uboot
先清除以前编译留下的残留文件,执行

make distclean
把uboot的设置恢复为出厂设置(不需要恢复出厂设置的,跳过本步),执行

make nuc970_config
编译uboot,执行

make all
编译过程中好像会提示找不到rootfs文件夹,把BSP目录下的rootfs_48文件夹改为rootfs就可以了。

编译成功后,会生成u-boot.bin和u-boot-spl.bin。

u-boot.bin在uboot目录下:



u-boot-spl.bin在uboot/nand_spl目录下:



u-boot-spl.bin的功能是:把u-boot.bin从NAND flash中复制到DDR中执行,因为uboot不能直接在NAND flash中执行。

u-boot.bin才是真正的uboot文件。

因此,如果要让NUC972从NAND flash中启动,那就需要同时烧录u-boot-spl.bin和u-boot.bin。如果是从SPI flash或eMMC中启动,那就只需要烧录u-boot.bin,因为uboot可以直接在SPI flash或eMMC中执行。



使用特权

评论回复
地板
xiaoqizi|  楼主 | 2021-6-4 15:03 | 只看该作者
四、编译Linux内核

uboot编译后会在uboot/tools文件夹下生成mkimage工具,而编译内核时需要使用它,所以执行:

cp uboot/tools/mkimage /bin
把它复制到/bin中,以便后面使用。

首先执行

apt-get install libncurses5-dev
安装libncurses5-dev软件包。然后进入内核目录

cd linux-3.10.x
把内核配置恢复成出厂:

make nuc972_defconfig
编译:

make uImage



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

3860

帖子

3

粉丝