CH09 开机自动烧录QSPI9.1 概述 我们经常要更新程序,比如更新QSPI的系统,或者更新应用程序。如果我们只要一张TF卡就能解决问题,这就非常方便了。笔者就是从这个需求出发,结合前面的章节内容,来实现这个课程的目标。 9.2 修改S60mount_emmc.sh文件
我们在第五课的时候学习了通过dd指令把TF卡的qspi_image.bin文件烧录到了QSPI FLASH。后来我们又学习了如何开机自动挂载EMMC,和开机自动运行hello world APP程序。所以这节课,我们只是要实现,开机自动挂载SD卡并且自动运行dd指令烧录QSPI。我们假设我们要更新的程序文件名为update_qspi.bin文件。修改后的S60mount_emmc.sh如下。 # # Start mount emmc.... # case "$1" in start) echo "开始挂载EMMC,创建路径/mnt/emmc" mkdir -p /mnt/emmc mount -t ext2 /dev/mmcblk1p1 /mnt/emmc ret=$? if [ $ret -ne 0 ]; then echo "EMMC正在格式化..." echo -e "n \n p \n 1 \n \n \n w \n" | fdisk /dev/mmcblk1 mkfs.ext2 /dev/mmcblk1p1 mount -t ext2 /dev/mmcblk1p1 /mnt/emmc fi echo "EMMC挂载成功!" echo "开始挂载tf,创建路径/tmp" mkdir -p /tmp mount /dev/mmcblk0p1 /tmp echo "开挂载成功!" if [ -f "/tmp/update_qspi.bin" ]; then echo "start update qspi flash ..." dd if=/tmp/update_qspi.bin of=/dev/mtdblock0 echo "update qspi finished!" fi ;; stop) ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit $? | 9.3 编译
执行 cd /mnt/workspace/osrc/scripts Source settings64.sh Cfg_rootfs.sh Make_roofts.sh 以上执行完成后,就制作好了ramdisk了。 继续执行 make_qspi_image.sh make_sdcard_image.sh 插入TF卡,执行 deploy_sdcard_image.sh 然后复制qpsi_image.bin文件到TF卡并且修改名字为update_image.sh 9.4测试结果
插入TF卡,接通USB-232串口到电脑,打开putty软件或者控制台串口,给开发板通电 把模式开关切换到QSPI模式,然后断电重启,可以看到系统从QSPI正确启动了。
|