讯为4412开发板嵌入式学习(四)烧写固件

时间:2024-03-30 08:52:53

一、使用TF卡烧写固件

视频路径 E:\01-迅为电子开发板入门视频\done\视频10_03TF卡烧写Qt

1、制作可烧写的TF卡

将TF卡插入开发板,启动开发板并进入uboot模式

TF卡分区,依次输入以下指令

fdisk -c 1(注意这里的参数是"1")
fatformat mmc 1:1
ext3format mmc 1:2
ext3format mmc 1:3
ext3format mmc 1:4

2、准备好烧录的文件

将光盘文件夹“06_源码_uboot 和kernel”中压缩包“iTop4412_uboot_xxx.tar.gz”拷贝到Ubuntu系统。

根据硬件将文件夹“CodeSign4SecureBoot_xxx”拷贝到Ubuntu系统,和压缩包放在同一目录解压压缩包,得到文件夹“iTop4412_uboot”。

将光盘“04_镜像_QT 文件系统”–>“uboot”中的镜像“u-boot-iTOP-4412.bin”文件(根据硬件选择)拷贝到上一步解压出来的文件夹“iTop4412_uboot”中。

3、制作uboot

将TF卡取出,与Ubuntu连接。通过“df -l”指令查看盘符名。
进入文件夹“iTop4412_uboot”,在Ubuntu 命令行中,执行Linux命令:

./mkuboot /dev/sdx

其中sdx表示盘符名称(不清楚盘符名,不要执行这个命令)
如果出现“u-boot-iTOP-4412.bin image has been fused successfully”提示,则表示uboot制作成功。
制作好的tf卡,在windows下查看,会少2G左右

4、烧写Qt

在TF卡中新建文件夹“sdupdate”,名字一定要是“sdupdate"。
拷贝Qt对应的四个镜像到“sdupdate”文件夹中(不建议拷贝uboot镜像)
TF卡插入开发板,启动开发板,进入uboot模式
烧写命令,在uboot模式下,超级终端中输入烧写全部的命令

sdfuse flashall

或者分开烧写

sdfuse flash bootloader u-boot-iTOP-4412.bin
sdfuse flash kernel zImage
sdfuse flash ramdisk ramdisk-uboot.img
sdfuse flash system system.img

烧写完成之后,在超级终端输入

reset

二、使用fastboot烧写minilinux

1、

开发版进入uboot模式并输入以下指令清空分区
fdisk -c 0
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
fastboot

2、

插入OTG连接到PC。

3、

将u-boot-iTOP-4412.bin、zImage、ramdisk-uboot.img、system.img复制到以下目录:
E:\12-开发板文档资料工具\iTOP-4412精英版光盘资料\02_编译器以及烧写工具\tools\USB_fastboot_tool\platform-tools

4、

打开目录下E:\12-开发板文档资料工具\iTOP-4412精英版光盘资料\02_编译器以及烧写工具\tools\USB_fastboot_tool\platform-tools\cmd.exe

在控制台输入以下命令烧写
fastboot.exe flash bootloader u-boot-iTOP-4412.bin
fastboot.exe flash kernel zImage
fastboot.exe flash ramdisk ramdisk-uboot.img
fastboot.exe flash system system.img
fastboot -w
fastboot reboot

三、配置linux内核

1、

进入内核目录,配置为QtE的config文件

cp -r config_for_linux_scp_elite .config

2、

进入配置界面,配置内核

make menuconfig

讯为4412开发板嵌入式学习(四)烧写固件

3、

进入“Networking support”→“Networking options”→选上“IP: kernel level autoconfiguration”

讯为4412开发板嵌入式学习(四)烧写固件

4、

返回到make menuconfig 的初始界面

讯为4412开发板嵌入式学习(四)烧写固件

  • File systems”→“Network File Systems” 选中“NFS client support”,“NFS client support for NFS version 3”,“NFS client support for the NFSv3 ACL protocol extension”,“NFS client support for NFS version4”,“NFS client support for NFSv4.1”,“Root file system on NFS”

讯为4412开发板嵌入式学习(四)烧写固件

讯为4412开发板嵌入式学习(四)烧写固件

5、

返回menuconfig的首页面,进入boot options进行配置NFS的IP、等信息。

讯为4412开发板嵌入式学习(四)烧写固件

讯为4412开发板嵌入式学习(四)烧写固件

配置举例:
root=/dev/nfs rw nfsroot=192.168.31.218:/home/topeet/minilinux/system ip=192.168.31.230:192.168.31.218:192.168.31.1:255.255.255.0:iTOP:eth0:off rootfstype=ext4 init=/linuxrc console=ttySAC2,115200

  • root=/dev/nfs rw nfsroot=192.168.31.218:/home/topeet/minilinux/system 表示挂载的nfs服务器ip 是192.168.1.103,挂载的目录是/home/topeet/minilinux/system(注意:/home/minilinux/system 是前面我们搭建nfs服务器设置的)

  • ip=192.168.31.230:192.168.31.218:192.168.31.1:255.255.255.0:iTOP:eth0:off 这里面,第一个ip192.168.31.230 是我们开发板的ip 地址,第二个ip192.168.31.218 是nfs 服务器的ip,第三个ip192.168.31.1 是开发板的网关,255.255.255.0 是子网掩码,iTOP 是开发主机的名字(一般无关紧要,可以随便填写),eth0 是网卡设备的名称。