判断通关:
上传效果截图完成作业
编译完成
a) 将sd_fusing文件夹拷贝到Linux下,将u-boot-fs4412.bin也拷贝到该文件夹下。
b) 将SD卡插入电脑并识别到ubuntu18.04 x64下(如不能识别先将该卡识别到windows下进行格式化操作)。
c) 进入sdfuse_d执行如下操作
$ sudo ./mkuboot.sh /dev/sdb
a) 把SD卡插到开发板,调整拨码开关调至到 1000(SD卡启动),开机。发现正常启动。进入裸机交互模式。
b) 烧写uboot到EMMC
在终端上执行下面的代码:
emmc open 0 //打开EMMC 0#
tftp 41000000 u-boot-fs4412.bin //TFTP协议传输.bin文件到内存的0x41000000地址
mmc write 41000000 0 0x420 //将0x41000000内存处的内容写入 emmc的0地址处,
//写入大小为0x420*512 byte = 528k
//实际u-boot-fs4412.bin大小为517.2k 大于此值即可
emmc close 0 //关闭EMMC 0#
c) 拔掉SD卡,重新上电开机,分别尝试交互模式和自启动模式,结果均正常。
a) 拷贝 ramdisk.img 到虚拟机/tftpboot目录下
b) 烧写内核镜像到EMMC上
# tftp 41000000 uImage # movi write kernel 41000000
c) 烧写设备树文件到EMMC上
# tftp 41000000 exynos4412-fs4412.dtb # movi write dtb 41000000
d) 烧写文件系统镜像到EMMC上
# tftp 41000000 ramdisk.img # movi write rootfs 41000000 300000
e) 设置启动参数
# setenv bootcmd movi read kernel 41000000\;movi read dtb 42000000\;movi read rootfs 43000000 300000\;bootm 41000000 43000000 42000000 # saveenv
f) 重新启动开发板,u-boot自动加载、执行内核
启动正常 挂载正常。
# setenv bootcmd tftp 41000000 uImage\;tftp 42000000 exynos4412-fs4412.dtb\;bootm 41000000 - 42000000 # saveenv