CN108427651A - 一种基于Zynq Qspi-Flash的双功能复用方法 - Google Patents

一种基于Zynq Qspi-Flash的双功能复用方法 Download PDF

Info

Publication number
CN108427651A
CN108427651A CN201810211644.3A CN201810211644A CN108427651A CN 108427651 A CN108427651 A CN 108427651A CN 201810211644 A CN201810211644 A CN 201810211644A CN 108427651 A CN108427651 A CN 108427651A
Authority
CN
China
Prior art keywords
qspi
flash
zynq
difunctional
method based
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810211644.3A
Other languages
English (en)
Inventor
杨松楠
张鹏泉
褚孝鹏
范玉进
李江涛
于洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Photoelectric Fengtai Science And Technology Co Ltd
Original Assignee
Tianjin Photoelectric Fengtai Science And Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Photoelectric Fengtai Science And Technology Co Ltd filed Critical Tianjin Photoelectric Fengtai Science And Technology Co Ltd
Priority to CN201810211644.3A priority Critical patent/CN108427651A/zh
Publication of CN108427651A publication Critical patent/CN108427651A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Abstract

一种基于Zynq Qspi‑Flash的双功能复用方法,步骤包括:在Zynq平台上选择Qspi‑Flash作为数据存储设备;增加Qspi‑Flash读写控制模块并初始化,加入待启动系统中,生成新的系统文件;将所述系统文件下载至所述Qspi‑Flash,并将所述Qspi‑Flash设置为启动源。本申请的有益效果是:能够省掉开发SD卡功能的任务,降低项目开发成本;既实现了系统启动的功能,又满足了数据存储的需求,极大的降低了设备开发难度,提高了芯片利用率,缩短了产品开发周期。

Description

一种基于Zynq Qspi-Flash的双功能复用方法
技术领域
本申请属于嵌入式技术领域,具体地说,涉及一种基于Zynq Qspi-Flash的双功能复用方法。
背景技术
当前Zynq电路上的Qspi-Flash多作为小型嵌入式系统的启动盘或者嵌入式程序的启动源来应用。如遇到诸如数据掉电存储此类需求,由于Qspi-Flash的接口与NANDFlash、Nor Flash的接口共用,所以当今的解决方案大多为另加SD卡。这样的方案,一方面会增加电路设计任务、提高硬件开销;另一方面,SD卡当前更新换代速度很快,小容量的SD卡货源无法得到保障,大容量的SD卡又局限于平台支持与资源浪费等原因。所以对一些小容量存储需求的设计方案来说,以上设计方案存在种种缺陷。
发明内容
有鉴于此,本申请所要解决的技术问题是提供了一种基于ZynqQspi-Flash的双功能复用方法,针对小容量存储数据需求既能保证设备开发功能满足要求,又能在成本、技术难度、开发周期等方面提供优化选择。
为了解决上述技术问题,本申请公开了一种基于Zynq Qspi-Flash的双功能复用方法,并采用以下技术方案来实现。
一种基于Zynq Qspi-Flash的双功能复用方法,使用Qspi-Flash作为数据存储设备和系统的启动源。
进一步的,所述基于Zynq Qspi-Flash的双功能复用方法,具体步骤包括:
S1:在Zynq平台上选择Qspi-Flash作为数据存储设备;
S2:增加Qspi-Flash读写控制模块并初始化;
S3:将所述Qspi-Flash读写控制模块加入待启动系统中,生成新的系统文件;
S4:将所述系统文件下载至所述Qspi-Flash,并将所述Qspi-Flash设置为启动源。
更进一步的,所述Qspi-Flash的容量大于所述系统文件的容量与所需存储数据最大容量之和,并保留余量。
再进一步的,所述Qspi-Flash保留余量具体为多预留出25%的容量。
进一步的,所述初始化的具体步骤包括:
S201:读取当前Qspi-Flash的配置信息;
S202:将需求配置信息写入控制器;
S203:确定硬件连接情况;
S204:设置时钟分频系数;
S205:选定当前使用的Qspi-Flash芯片;
S206:读取选定的所述Qspi-Flash的ID信息。
更进一步的,所述初始化的具体步骤还包括:
S207:对所选存储块写入指定数据;
S208:读取刚写入的数据;
S209:验证读取的数据的正确性。
更进一步的,所述S203和所述S204之间还包括:初始化测试数据值。
与现有技术相比,本申请可以获得包括以下技术效果:将单片Qspi-Flash用作Zynq的启动盘和存储数据盘,能够省掉开发SD卡功能的任务,降低项目开发成本;针对小容量存储数据需求,在不增加设计成本和结构资源的情况下,既实现了系统启动的功能,又满足了数据存储的需求,极大的降低了设备开发难度,提高了芯片利用率,缩短了产品开发周期。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有技术效果。
具体实施方式
以下将配合实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
一种基于Zynq Qspi-Flash的双功能复用方法,步骤包括:
S1:根据设备实际使用情况和需求,确定所需的Qspi-Flash的容量大小,并保留余量;
此容量大小应大于系统启动文件容量与所需存储数据最大容量之和,建议在选择Qspi-Flash芯片时,多预留出25%的余量。这是因为部分Qspi-Flash只支持块擦除,在写数据到Qspi-Flash时需要先擦除,再写入,留出足够余量可以保证擦除过程不影响系统启动文件,另外也增加了系统更改的灵活性。
S2:在Zynq平台上选择Qspi-Flash作为数据存储设备;
在VIVADO上搭建平台,在Zynq核内勾选Qspi-Flash作为数据存储设备,并根据电路图配置好Qspi-Flash所连接的MIO端口。在Clock Configuration窗口下选择Qspi-Flash控制器的读写速度。
S3:查看所选Qspi-Flash芯片资料,明确内部存储结构;
S4:确定系统文件的容量大小及存储起始地址,明确系统文件在Qspi-Flash内部所占存储区间;
S5:增加Qspi-Flash读写控制模块,选择上一步剩余的Qspi-Flash存储空间进行初始化,并根据需求进行擦除、读取、写入等操作;
S6:将新增加的Qspi-Flash读写控制模块添加入系统中,生成新的系统文件,并确认系统文件所占存储空间,与Qspi-Flash读写模块所使用的存储空间做对比,无重叠即可;
S7:将新的系统文件或设备程序下载至Qspi-Flash,记录文件大小及文件初始地址;将Zynq的启动源设置为Qspi-Flash;
S8:测试验证启动功能与数据存储功能均实现。
以上8个步骤并不严格要求顺序。
其中,S5中Qspi-Flash读写控制模块初始化的流程包括:
S501:读取当前Qspi-Flash的配置信息;
S502:写入用户需求的Qspi-Flash的配置信息到Zynq系统的控制器;
S501读取当前配置信息是为了了解当前Qspi-Flash的配置状态,明确当前配置状态后执行S502的内容,即根据需求更改配置信息并下发配置信息至Qspi-Flash控制器(即Zynq系统的控制器,具有控制Qspi-Flash的功能)。
S503:通过自环测试确定硬件连接情况;
S504:初始化测试数据值;
通过写入特定数据,并读取写入的数据,如果两者相同,则说明Qspi-Flash工作正常;这里的数据值即为上述特定数据。
S505:设置时钟分频系数;
S506:选定新的当前使用的Qspi-Flash芯片;
当前使用的Qspi-Flash芯片即从设备,对于zynq的Qspi-Flash控制器来说,可连接多个Qspi-Flash,这里是指定具体哪片Qspi-Flash为当前使用的芯片。
S507:读取当前使用的Qspi-Flash的ID信息;
每片Qspi-Flash都有一个独一无二的ID号,读取ID号后,通过ID号对选定的Qspi-Flash进行其他操作。
S508:对所选存储块写入指定数据;
此处写入的数据根据需求各异,如需要Qspi-flash掉电后存储设备工作状态的信息,此处即写入设备工作状态的信息。
S509:读取刚写入的数据;
S510:验证读取的数据的正确性;
S511:初始化完成。
本申请的有益效果是:将单片Qspi-Flash用作Zynq的启动盘和存储数据盘,能够省掉开发SD卡功能的任务,降低项目开发成本;针对小容量存储数据需求,在不增加设计成本和结构资源的情况下,既实现了系统启动的功能,又满足了数据存储的需求,极大的降低了设备开发难度,提高了芯片利用率,缩短了产品开发周期。
以上对本申请实施例所提供的一种基于Zynq Qspi-Flash的双功能复用方法,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

Claims (7)

1.一种基于Zynq Qspi-Flash的双功能复用方法,其特征在于:使用Qspi-Flash作为数据存储设备和系统的启动源。
2.根据权利要求1所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:具体步骤包括:
S1:在Zynq平台上选择Qspi-Flash作为数据存储设备;
S2:增加Qspi-Flash读写控制模块并初始化;
S3:将所述Qspi-Flash读写控制模块加入待启动系统中,生成新的系统文件;
S4:将所述系统文件下载至所述Qspi-Flash,并将所述Qspi-Flash设置为启动源。
3.根据权利要求2所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:所述Qspi-Flash的容量大于所述系统文件的容量与所需存储数据最大容量之和,并保留余量。
4.根据权利要求3所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:所述Qspi-Flash保留余量具体为多预留出25%的容量。
5.根据权利要求2-4任一所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:所述初始化的具体步骤包括:
S201:读取当前Qspi-Flash的配置信息;
S202:将需求配置信息写入控制器;
S203:确定硬件连接情况;
S204:设置时钟分频系数;
S205:选定当前使用的Qspi-Flash芯片;
S206:读取选定的所述Qspi-Flash的ID信息。
6.根据权利要求5所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:所述初始化的具体步骤还包括:
S207:对所选存储块写入指定数据;
S208:读取刚写入的数据;
S209:验证读取的数据的正确性。
7.根据权利要求5所述基于Zynq Qspi-Flash的双功能复用方法,其特征在于:所述S203和所述S204之间还包括:初始化测试数据值。
CN201810211644.3A 2018-03-15 2018-03-15 一种基于Zynq Qspi-Flash的双功能复用方法 Pending CN108427651A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810211644.3A CN108427651A (zh) 2018-03-15 2018-03-15 一种基于Zynq Qspi-Flash的双功能复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810211644.3A CN108427651A (zh) 2018-03-15 2018-03-15 一种基于Zynq Qspi-Flash的双功能复用方法

Publications (1)

Publication Number Publication Date
CN108427651A true CN108427651A (zh) 2018-08-21

Family

ID=63158548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810211644.3A Pending CN108427651A (zh) 2018-03-15 2018-03-15 一种基于Zynq Qspi-Flash的双功能复用方法

Country Status (1)

Country Link
CN (1) CN108427651A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951334A (zh) * 2015-05-22 2015-09-30 中国电子科技集团公司第十研究所 FPGA双片QSPI flash的程序加载方法
CN105573800A (zh) * 2015-12-22 2016-05-11 中船重工(武汉)凌久电子有限责任公司 一种基于zynq的单板或多板系统及在线更新方法
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件系统的数据处理方法和装置
CN106772486A (zh) * 2017-02-17 2017-05-31 上海华测导航技术股份有限公司 一种基于zynq架构的gnss接收机板卡
CN107729091A (zh) * 2017-11-30 2018-02-23 天津光电通信技术有限公司 基于Zynq的嵌入式系统平台及Linux内核相关文件生成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951334A (zh) * 2015-05-22 2015-09-30 中国电子科技集团公司第十研究所 FPGA双片QSPI flash的程序加载方法
CN105573800A (zh) * 2015-12-22 2016-05-11 中船重工(武汉)凌久电子有限责任公司 一种基于zynq的单板或多板系统及在线更新方法
CN106569748A (zh) * 2016-10-27 2017-04-19 南方电网科学研究院有限责任公司 Flash文件系统的数据处理方法和装置
CN106772486A (zh) * 2017-02-17 2017-05-31 上海华测导航技术股份有限公司 一种基于zynq架构的gnss接收机板卡
CN107729091A (zh) * 2017-11-30 2018-02-23 天津光电通信技术有限公司 基于Zynq的嵌入式系统平台及Linux内核相关文件生成方法

Similar Documents

Publication Publication Date Title
US9582058B2 (en) Power inrush management of storage devices
CN103187096B (zh) 熔丝读出装置、方法和系统
US20180101492A1 (en) Memory system and host device that maintain compatibility with memory dvices under previous standards and/or versions of standards
CN104868885A (zh) 具有可变延迟线单元的延迟线电路
EP3361478B1 (en) Ramping inhibit voltage during memory programming
CN107408090A (zh) 输入/输出控制器访问通道的动态配置
US7875996B2 (en) Multi-regulator power delivery system for ASIC cores
EP4170488A1 (en) Chip enable control method, chip, display panel and electronic device
US20120271983A1 (en) Computing device and data synchronization method
CN110765032A (zh) 基于系统管理总线接口对i2c存储器进行读写的方法
CN103150184B (zh) 一种对闪存进行操作的方法和系统芯片
CN105608013A (zh) 一种集成mram的存储卡控制芯片及存储卡
CN107391120A (zh) 一种启动控制方法、电子设备及计算机可读存储介质
CN109643576A (zh) 用于管理非易失性存储器装置中的漂移的分界电压的确定
US20140317334A1 (en) Storage of gate training parameters for devices utilizing random access memory
US9111629B2 (en) Smart charge pump configuration for non-volatile memories
US20090160256A1 (en) Multi-regulator power delivery system for ASIC cores
CN103853638A (zh) 一种刷新固件的方法及电子设备
CN103473182A (zh) 非挥发性存储器存取方法及非挥发性存储器控制器
KR102107072B1 (ko) 메모리의 전원을 관리하는 메모리 컨트롤러를 포함하는 시스템
CN102708923A (zh) 半导体集成电路以及控制方法
CN108427651A (zh) 一种基于Zynq Qspi-Flash的双功能复用方法
CN104111893A (zh) 数据的存储方法
US20170017410A1 (en) Memory controller
JP2011508314A (ja) Asicコアのためのマルチレギュレータ電力供給システム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180821

RJ01 Rejection of invention patent application after publication