版本信息:

版本

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 \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正确启动了。

CH09 开机自动烧录QSPI的更多相关文章

  1. 【设计经验】3、ISE中烧录QSPI Flash以及配置mcs文件的加载速度与传输位宽

    一.软件与硬件平台 软件平台: 操作系统:Windows 7 64-bit 开发套件:ISE14.7 硬件平台: FPGA型号:XC6SLX45-CSG324 QSPI Flash型号:W25Q128 ...

  2. Linux开机自动登录(文本模式)

    • Linux系统启动登录过程 以RedHat/CentOS为例,Linux系统Level3模式下从启动到登录的整个过程大致如下: 1> 加载BIOS信息:包含了CPU/显卡/内存/硬盘/网卡等 ...

  3. 在Linux上挂载Windows共享文件夹,如何开机自动挂载(mount)?

    按照一般的思路,我们先将文件夹挂载上去,命令如下: mkdir /mnt/share_software mount //192.9.206.43/share_software /mnt/share_s ...

  4. /etc/fstab 参数详解及如何设置开机自动挂载

    某些时候当Linux系统下划分了新的分区后,需要将这些分区设置为开机自动挂载,否则,Linux是无法使用新建的分区的. /etc/fstab 文件负责配置Linux开机时自动挂载的分区. Window ...

  5. C#.NET Form设置/取消开机自动运行,判断程序是否已经设置成开机自动启动(转载)

    #region//开机自动运行        private void CB_Auto_CheckedChanged(object sender, EventArgs e)        {//CB_ ...

  6. WPF 设置程序开机自动运行(+注册表项)

    #region 设置程序开机自动运行(+注册表项) RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Micr ...

  7. Android---让你的APK程序开机自动运行(转)

    转自: http://blog.sina.com.cn/s/blog_72f6e45701014l6t.html 有些时候,应用需要在开机时就自动运行,例如某个自动从网上更新内容的后台service. ...

  8. Linux如何开机自动运行自己的脚本

    博客分类: LINUX 脚本LinuxCentOSWindowsBash      记录这个事情是上次完成之后,今天要新加一个文件夹,一时之间忘记以前怎么做了,因为有几种方法,起码我知道三种方法,这里 ...

  9. [转]Ubuntu 12.04开机自动挂载Windows分区

    [转]Ubuntu 12.04开机自动挂载Windows分区 http://www.cnblogs.com/A-Song/archive/2013/02/27/2935255.html 系统版本:Ub ...

随机推荐

  1. 三大框架 之 spring-JDBC

    目录 spring-JDBC模板 Spring的JDBC的模板 JDBC模板使用的入门 引入jar包 创建数据库和表 使用JDBC的模板 将连接池和模板交给Spring管理 配置文件配置Bean 使用 ...

  2. 如何监控tomcat性能:[1]工具一

    | 浏览:155 | 更新:2014-12-13 10:06 1 2 3 4 5 6 分步阅读 tomcat经常被用作中间件,也有直接作WEB的,自带的工具不是很给力,推荐以下的办法 工具/原料 ja ...

  3. Flink实时处理并将结果写入ElasticSearch实战

    参考原博客: https://blog.csdn.net/weixin_44516305/article/details/90258883 1 需求分析 使用Flink对实时数据流进行实时处理,并将处 ...

  4. 用java输出杨辉三角

    杨辉三角:它的两个边都是1,内部其它都是肩上两个数的和 第一种: package aaa; public class YangHui { public static void main(String[ ...

  5. sass - for循环写法

    如要设置多个li的动画延迟时间时 注:这里选择器要加#{}才行 不然就会编译成: 6.7. 插值语句 #{} (Interpolation: #{}) 通过 #{} 插值语句可以在选择器或属性名中使用 ...

  6. h2的时间类型和函数

    H2时间类型: (时间)TIME: 格式为 hh:mm:ss.对应到Java类型:java.sql.Time. (日期)DATE: 格式为 yyyy-MM-dd.对应到Java类型: java.sql ...

  7. winddows rabbitmq安装与配置

    RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统.它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rab ...

  8. 在linux的用户空间操作gpio

    1. 使能linux内核选项CONFIG_GPIO_SYSFS CONFIG_GPIO_SYSFS=y 2. 测试方法 2.1 关注/sys/class/gpio下的文件 --export/unexp ...

  9. Visual Studio 2019更新到16.2.3

    Visual Studio 2019更新到16.2.3   此次更新,包括以下内容: (1)修复找不到Android SDK的bug. (2)修复安装结束后,无法启动的bug. (3)修复关闭VS时, ...

  10. springboot+jwt完成登录认证

    本demo用于测试jwt,通过登录验证通过后,使用jwt生成token,然后在请求header中携带token完成访问用户列表信息. 准备工作: 1. 实体类SysUser.java package ...