打印
[新唐博主]

新唐NUC977系统编译及烧写流程

[复制链接]
741|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2022-6-21 10:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、UBoot的编译

拿到bsp过后我们解压文件到指定目录中去,这里青联创客提供了一个install.sh脚本,我们可以修改其脚本内容更换解压到指定路径;

# 判断是否为管理员模式执行

ROOT_UID=0

if [ "$UID" -ne "$ROOT_UID" ] ;then

    echo 'Sorry, you are not root !!'

    exit 1

fi


# 创建存放image的文件文件夹

mkdir -p /home/qlqcetc/nuc977bsp/image


echo 'Please wait ......'

# 开始解压相关文件:这里可以修改directory的参数更改目录路径

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 01.uBoot_v201611.tar.gz;

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 02.linux_kernel.tar.gz;

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 03.tools.tar.gz;

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 04.demos.tar.gz;

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 06.minigui.tar.gz&

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 07.emWin.tar.gz&

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 08.qt4.8.tar.gz&

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f 09.qt_demo.tar.gz&

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f rootfs_qt.tar.gz;

tar --directory=/home/qlqcetc/nuc977bsp -z -x -f rootfs_mini.tar.gz;


# 交叉编译器的存放路径

tar --directory=/usr/local/  -z -x -f arm_linux_4.8.tar.gz;


# 该文件夹赋予权限

chmod 777 -R /home/qlqcetc/nuc977bsp


# 执行成功

echo 'complete!!!!!'


我们先来配置一下交叉编译器,这里需要注意一下我们刚刚脚本里面的交叉编译器解压路径,下面执行

vi/root/.bashrc # 需要注意的是这里一定是要在管理员权限下执行,否则会找不到该目录文件



刷新文件生效
source  /root/.bashrc




得到看到版本信息过后表示交叉编译器安装完成,然后我们进入uboot的目录开始执行编译的命令


make distclean  # 清除所有的object code.


make nuc970_config # 设置Uboot为出厂设置。


make all -j8  # 编译U-Boot


然后目录下会生成三个我们需要用到的文件,首先是待会儿编译内核会用到的mkimage工具

cp tools/mkimage /bin


然后是我们烧录会用到的u-boot.bin和u-boot-spl.bin,我们创建一个目录来存放我们待会儿需要烧录的文件,并将该文件存放在该目录下。

到这里我们的uboot编译就完成了。


二、Kernel的编译
编译Kernel的时候一定要确认前面的mkimage工具已经安装完成,然后我们cd到kernel目录,然后清除编译残留,然后是配置.config文件,这里青联创客提供了两个版本一个是5寸屏的配置和4.3寸屏的配置,我这里是4.3寸屏的配置,,如果需要修改内核的话需要执行make具体命令如下;





下面是执行menuconfig出现的界面,这里先不做修改



然后编译执行make uImage



这里我们需要使用的是970uImage文件我们将他拷贝到我们创建的build文件夹
cp ../image/970uimage ../10.build/

到这里我们的内核编译完成。

三、文件系统的制作

首先我们需要使用busybox制作文件系统,该工具同时也提供图形化裁剪

cd 03.tools/busybox-1.22.1


make clean


make menuconfig


make


make install



执行完上面的语句过后我们就可以的到一个_install的文件夹然后里面就是我们需要的文件


然后编译一下我们需要的打包工具

然后我们回到bsp更目录可以看到两个rootfs文件,一个是mini版本只提供基础的Linux运行环境,一个是qt版本已经移植好了qt的运行环境,这里我们选择使用qt版本的话只需要将上面生成的_install文件夹里面的额内容复制进来就可以了,为了防止文件丢失我们将需要使用的根文件系统复制一份重命名为rootfs。

cp 03.tools/busybox-1.22.1/_install/* rootfs/ -r


mkyaffs2 --inband-tags -p 2048 rootfs rootfs_yaffs2.img


ls rootfs_yaffs2.img  -all


cp rootfs_yaffs2.img 10.build/


到这里我们烧录需要的文件就准备齐全了接下来进入windows环境开始系统的烧录。


四、系统的烧录

首先我们需要将上面生成的文件全部拷贝到我们的windows环境中来;然后安装我们的驱动,最后打开烧写工具开始烧录。



然后将我们的开发板拨到usb启动模式,电脑点击continue,这时候我们也可以打开串口助手观看开发板当前的状态。



这里我们还需要一个文件env.txt文件配置;


baudrate=115200

bootcmd=nboot 0x7fc0 0 0x200000; bootm 0x7fc0

bootdelay=1

ethact=emac

ethaddr=00:00:00:11:66:88

stderr=serial

stdin=serial

stdout=serial


然后开始我们的烧录工作(在我们的文件系统发生改变的情况下建议先使用软件的Erase功能清楚全盘)


烧录u-boot-spl.bin

(如有必要可以点击verify检验文件是否烧写正确)


烧写u-boot.bin


烧写env.txt

烧写970uimage


烧写rootfs_yaffs2.img


上面主要需要的设置就是烧写地址的设置,烧写完成过后我们是开发板以NAND模式启动。



到这里说明我们的系统编译烧写成功。











使用特权

评论回复
沙发
sparrow054| | 2022-7-6 21:08 | 只看该作者
用这个的板子的多么

使用特权

评论回复
板凳
麻花油条| | 2022-7-8 15:38 | 只看该作者
感谢分享,学习学习

使用特权

评论回复
地板
mutable| | 2022-7-11 20:29 | 只看该作者
最近玩linux的很多啊

使用特权

评论回复
5
kiwis66| | 2022-7-14 21:08 | 只看该作者
学习了,多少有点难度

使用特权

评论回复
6
sadicy| | 2022-7-16 15:51 | 只看该作者
感谢分享,很不错

使用特权

评论回复
7
sparrow054| | 2022-7-16 17:51 | 只看该作者
能转成PDF么?

使用特权

评论回复
8
sadicy| | 2022-7-24 10:00 | 只看该作者

应该够呛

使用特权

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

本版积分规则

1953

主题

15682

帖子

12

粉丝