【Z-turn Board试用体验】+板上资源Zynq7000启动流程的学习 - 问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【Z-turn Board试用体验】+板上资源Zynq7000启动流程的学习

中科院 ( 楼主 ) 2015-5-27 20:50:06  只看该作者 倒序浏览
本帖最后由 中科院 于 2015-5-27 20:56 编辑

话说不知道这是不是网络原因,又发生了提交一次数据,然后发表失败,又打开一次,结果什么都没有了,好吧,我是一个坚强的蟑螂,又重新做一遍也不害怕!

Zynq7000是一个可扩展处理平台,简单说就是有个FPGA做外设的A9双核处理器。
所以,它的启动流程自然也和FPGA完全不同,而与传统的ARM处理器类似。
Zynq7000支持从多种设备启动,包括Jtag, NAND, parallel NOR, Serial NOR (Quad-SPI), 以及SD卡。按手册说明除了Jtag之外的启动方式均支持安全启动,使用AESSHA256加密后的启动代码

还是按照时间顺序来介绍下具体流程吧
1.在器件上电运行后,处理器自动开始Stage-0 Boot,也就是执行片内BootROM中的代码
2.BootROM会初始化CPU和一些外设,以便读取下一个启动阶段所需的程序代码,FSBLFirst Stage Bootloader)。
Zynq支持多种启动设备,BootROM怎么知道从哪个启动设备里去加载FSBL?这就得靠几个特殊的MIO引脚来选择了,具体见下图

而且米尔科技的文档也有说明、




BootROM会去读取MIO[2..8],从而确定启动设备,将选定设备的头192Kbyte内容,也就是FSBL,复制到OCM中,并将控制器交给FSBL,。
3FSBL启动时可以使用整块256KbOCM,当FSBL开始运行后,器件就正式由咱自己控制了。Xilinx提供了一份FSBL代码,如果没什么特殊要求,可以直接使用。
按照手册说明,FSBL应该完成以下几件事。
1). 使用xilinx SDK提供的代码,继续初始化PS
2). bitstream写入PL(配置FPGA,不过这一步也可以以后再做
3). 将接下来启动用的Second Stage BootloaderSSBL,一般就是U-Boot一类的东西),或者裸奔程序,复制到内存中
4). 跳到SSBL运行去
4,接下来的步骤就没啥特别了,Uboot开始运行,初始化好Linux启动环境,然后开始运行Linux系统。
还有就是学习资源的获取,这里我推荐3本书(由最推荐到一般推荐排序):



3个回复

Cowena 发表于 2015-5-28 19:56:48
这几本书不错呀!O(∩_∩)O谢谢分享
回复

举报 使用道具

中科院 发表于 2015-5-29 18:43:31
第一本书非常好,第三本书比较深入。第二本书有许多错误!
回复

举报 使用道具

斗牛士223 发表于 2015-5-31 21:06:43
学习                           
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-11-24 00:05 , Processed in 0.441336 second(s), Total 48, Slave 37 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表