S04_CH03_QSPI烧写LINUX系统
S04_CH03_QSPI烧写LINUX系统
3.1概述
3.2搭建硬件系统
本章硬件工程还是使用《S04_CH01_搭建工程移植LINUX/测试EMMC/VGA》所搭建的VIVADO工程。
3.3修改内核文件
Step1:切换到管理员模式
Step2:切换到scripts目录下,执行source setup_env.sh(注意source和“.”是一致的),并将scripts.tar.gz中的两个脚本放到scripts目录下,通过这两个脚本可以打包QSPI镜像和将QSPI镜像烧录至QSPI中。本项目是基于上一个项目工程。
Step4:切换到bootloader源码目录,打开include/configs/zynq-common.h文件
Step5:修改以下内核、设备树及内存文件系统在QSPI的起始位置如Step6所示:
Step6:QSPI的起始位置放置FSBL、FPGA比特流和uboot,文件大小大概是5MB,所以内核的存放位置从0x500000开始,而这里同样给内核留5MB,当然,如果你的内核增加更多配置或减少配置,可以适当修改,这样的话,设备树就需要从0xA00000位置开始存放,然后留给设备树的空间大概是2K,即从0xA20000开始存储文件系统,这样ramdisk的大小就应该是0x15E0000,当然,内核默认支持8MB
Step7:打开zynq-zed.dts,找到qspi节点,这里把原有的分区删掉,当然,你也可以根据刚才对QSPI的分区,做对应的修改。可以出从SD启动或从QSPI启动Linux,然后在系统里更新QSPI镜像。


3.3编译内核及uboot
Step1:执行mk_bootloader.sh编译bootloader源码
Step2:执行mk_kernel.sh编译kernel源码

3.4制作qspi镜像
Step3:制作qspi镜像,制作完毕后,可以在images/qspi_image目录下看到qspi_image.bin镜像

3.5安装screen
Step1:安装screen,可以直接在Ubuntu系统下查看串口调试信息,当然,你也可以在Windows下使用putty之类的
Step2:输入 /dev/ttyUSB0正是串口

3.6一件烧写YIJIANQSPI FLASH
接下JTAG并打开开发板电源,执行program_qspi_flash.sh将QSPI镜像烧录到QSPI芯片上,或许会出现以下错误,没关系,此时因为驱动还没有加载,重新执行一次。

3.7烧写QSPI FLASH 2
如果确实不行,那么打开SDK来烧录吧
如果是切换到su的话,可能会提示没有找到license,那么把/home/osrc/.Xilinx目录复制到/root/目录下
烧录完毕后,重启开发板,当然,请先确保调整启动模式为从QSPI启动,在Ubuntu下打开串口终端
即可以看到以下信息
在HDMI显示器上也可以看到相关信息。

S04_CH03_QSPI烧写LINUX系统的更多相关文章
- 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
		
作者 : 万境绝尘 转载请著名出处 终于拿到板子了, 嵌入式开发正式开启. 板子型号 : 三星 S3C6410 基于ARM11, 指令集基于arm6指令集; 为毛不是 Cortext A9的板子; 烧 ...
 - u-boot烧写Linux及系统整个启动过程
		
一.烧写文件 u-boot: u-boot.bin linux kernel: uImage Filesystem: root.bin(yaffs) 二.烧写步骤 1.烧写u-boot tftp 0 ...
 - 荣品RP4412开发板烧写Ubuntu系统应注意SD卡内存大些
		
问:RP4412开发板用SD卡烧写光盘中的fastboot失败,现在如何补救呢? 答:INAND格式化, 利用usb来升级啊, 也有文档,看升级文档. 问: 这个是怎么回事? 答:你是升级什么系统? ...
 - IMX6开发板学习烧写Linux-QT系统步骤做个笔记
		
平台:迅为-i.MX6开发板 烧写系统:Linux-QT <ignore_js_op> Qt系统的烧写,是使用 MfgTool2 工具,只需要简单的配置下. 打开 “Mfgt ...
 - 烧写树莓派系统,SSH配置,无屏登录流程
		
首先去 https://downloads.raspberrypi.org/raspbian/images/ 下载需要的版本镜像 我这里下载 https://downloads.raspberrypi ...
 - 大批量烧写openwrt系统
		
http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd OEM mass flashing Flashing hundreds of devices using ...
 - 友善之臂tiny4412-1306开发板安卓系统烧写
		
折腾了很久,终于烧写成功.不废话,咱们说说流程吧. 首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取. 然后解压: 1.tar -xvf linux-3.5 .... 然后 ...
 - 【嵌入式】bootloader,linux,filesystem的烧写
		
平台: 深圳市优龙科技有限公司的FS2410(基于ARM9) 准备: 1.用串口(UART1,J8)线与PC机相连,这个是用来传输数据和显示信息的 2.连接USB数据下载线(usb device),注 ...
 - nand烧写分析/内核在启动过程中式如何将这个文件映射成/目录及各子目录的?
		
我用的是ramdisk.image.gz,烧写在flash的0x10140000处 我不太明白内核在启动过程中式如何将这个文件映射成/目录及各子目录的? 如果ramdisk.image.gz在flas ...
 
随机推荐
- ubuntu取消自动登录
			
/etc/lightdm/lightdm.conf.d/50-nvidia.conf 注释 autologin-user=<YOUR USER>
 - Spring IOC的缓存
			
1.将上一篇的测试代码修改如下 public class SpringTest { public static void main(String[] args) { ClassPathResource ...
 - 多层nginx中的压缩问题 api接口>1M数据的返回浏览器 网关
			
基础 前端异步请求,局部刷新,加大最大等待时间 nginx开启压缩 进阶 多级nginx的压缩 实践测试: 每级都要开启压缩 gizp on: 最外层开启,但最内层没有开启 最外层没有开启 最外层.最 ...
 - Python 3.8.0 final¶  Release date: 2019-10-14
			
https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0 Core and Builtins bpo-38469: Fixed ...
 - redis最大连接数
			
Well, it's a bit late for this post, but since I just spent a lot of time(the whole night) to config ...
 - 【Mac】解决macos安装升级时报错安装所选更新时发生错误的问题
			
1 系统更新macjave 更新一直失败: 2 解决方法为:重新启动Mac,并按住Command+R进入恢复模式,找到Terminal后输入csrutil disable,然后重启Mac,再次下载并 ...
 - 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识1
			
什么是REST REST 是 Representational State Transfer 的缩写. 它是一种架构的风格, 这种风格基于一套预定义的规则, 这些规则描述了网络资源是如何定义和寻址的. ...
 - 【译】Vue源码学习(一):Vue对象构造函数
			
本系列文章详细深入Vue.js的源代码,以此来说明JavaScript的基本概念,尝试将这些概念分解到JavaScript初学者可以理解的水平.有关本系列的一些后续的计划和轨迹的更多信息,请参阅此文章 ...
 - 【Chrome插件】右键搜--多站点搜索
			
写在前面:看文章前请先看文章写作时间,避免浪费时间.2019-09-10 使用场景 一次输入,同时在多个网站进行内容搜索,比如一键在不同网站搜索电影.一键获取多个搜索引擎的搜索结果. 操作演示 评分 ...
 - Docker快速安装
			
目前装Docker得最简单方式就是脚本安装了,方法如下: curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh 安装后 ...