• CH09 开机自动烧录QSPI


    版本信息:

    版本

    REV2018

    时间

    05/22/2018

     

     

     

    XILINX ZYNQ LINUX篇

    基于米联MZ7X系列

     

     

     

     

     

     

     

     

     

     

     

    电子版自学资料

     

    常州一二三电子科技有限公司

    溧阳米联电子科技有限公司

    版权所有

     

    米联客学院04QQ群:516869816

    米联客学院03QQ群:543731097(半满)

    米联客学院02QQ群:86730608(满)

    米联客学院01QQ群:34215299(满)

     

     

     

    版本

    时间

    描述

    Rev2018

    2018-05-22

    采用批处理文件,自动化管理,侧重基础和应用

       

     

     

    感谢您使用米联客ZYNQ系列开发板,以及配套教程。本教程将对之前编写的《修炼秘籍》部分内容做出改进,并且增加新的课程内容。本教程不仅仅适合用于米联客开发板,而且可以用于其他的ZYNQ开发板。

    软件版本:VIVADO2017.4(提供安装好环境的虚拟机)

    版权声明:

    本手册版权归常州一二三电子科技有限公司/溧阳米联电子科技有限公司所有,并保留一切权利,未经我司书面授权,擅自摘录或者修改本手册部分或者全部内容,我司有权追究其法律责任。

     

    版主大神们都等着大家去提问--电子资源论坛 www.osrc.cn

    扫描以下二维码注册论坛:www.osrc.cn

     

    微信公众平台:电子资源论坛

    目录

    XILINX ZYNQ LINUX    1

    基于米联MZ7X系列    1

    CH09 开机自动烧录QSPI    5

    9.1 概述    5

    9.2 修改S60mount_emmc.sh文件    5

    9.3 编译    6

    9.4测试结果    6

     

    CH09 开机自动烧录QSPI

    9.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 p 1 w " | 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正确启动了。

  • 相关阅读:
    快速读取数字
    std:ios:sync_with_stdio (false)以及局限性
    差分,差分数组
    归并排序
    2020-07-06日报博客
    OAuth2-授权码模式 登录流程
    OAuth2 简介
    SpringSecurity连接数据库
    SpringSecurity中的授权
    SpringSecurity 入门
  • 原文地址:https://www.cnblogs.com/milinker/p/9216344.html
Copyright © 2020-2023  润新知