完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`玩转Zynq连载29——[ex51] 制作裸跑程序的启动文件BOOT.bin 更多资料共享 腾讯微云链接:https://share.weiyun.com/5s6bA0s 百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取码:ld9c 腾讯微云链接:https://share.weiyun.com/5s6bA0s 百度网盘链接:https://pan.baidu.com/s/1XTQtP5LZAedkCwQtllAEyw 提取码:ld9c 对于Zynq的裸跑程序加载,比linux的SD卡启动文件制作要简单得多。 只需要在FAT32格式化后的SD卡中放置一个BOOT.bin文件即可。如图所示,BOOT.bin中需要包含2~3个文件,对Zynq部分外设初始化并搬运下一阶段代码和配置PL的f***l.elf文件、PL的配置比特流文件(.bit)、用户裸跑程序(.elf)。如果用户只是在Zynq的Cortex A9上跑程序,无需使用PL做任何工作,那么PL的配置文件.bit也可以免了。 在Zynq上电后,BootROM率先工作,加载BOOT.bin中的FSBL,FSBL初始化一些必要的外设,如SDIO外设,用于SD卡的读写;FSBL也可以将PL的配置比特流.bit文件加载到PL中启动PL的逻辑运行,随后加载用户裸跑程序(通常是elf后缀的文件),裸跑程序随后就在DDR3中运行起来。 这里,我们来实际操作一把,使用f***l.elf、.bit和用户裸跑程序(.elf)这3个文件产生BOOT.bin文件。 为了更好的理解Zynq的启动原理,建议参考文档《玩转Zynq-基础篇:Zynq的启动过程.pdf》。 参考文档《玩转Zynq-工具篇:导出PS硬件配置和新建SDK工程》。 打开EDK后,在ProjectExplorer中,出现了名为zstar_zynq_ps_wrapper_hw_platform_0的文件夹,下面的一些文件都是前面ExportHardware产生的PS硬件配置信息以及系统初始化代码。 在打开的SDK中,点击菜单File--> New --> Application Project,新建一个应用工程。 弹出的New Project中,输入Projectname(这里命名为f***l_project)。对应的Hardware Platform必须是前面Export Hardware所对应的PL工程。然后点击Next。 选择Avaliable Templates为Zynq FSBL。点击Finish。 再次点击菜单File --> New--> Application Project,新建一个应用工程。 工程名(Project name)命名为HelloWorld,操作系统(OSPlatform)选择standalone,硬件平台(Hardware Platform)选择zstar_zynq_ps_wrapper_platform_0,点击Next。 Templates页面中,选择Hello World工程模板。点击Finish完成工程创建。 新建HelloWorld工程出现在ProjectExplorer中,展开HelloWorld-->src,打开helloworld.c源文件,修改源码,实现每隔2s通过UART打印一串带计数值的Hello World!信息。 保存修改后的helloworld.c源文件,SDK会自动编译并生成新的HelloWorld.elf文件。 展开Project Explorer中新建好的f***l_project工程,找到Binaries下的f***l_project.elf文件。选中f***l_project.elf文件,右键单击后,点击Copy选项。Paste到专门新建的sd_image文件夹下。 展开HelloWorld工程,找到Binaries下的HelloWorld.elf文件。选中HelloWorld.elf文件,右键单击后,点击Copy选项。也Paste到sd_image文件夹下。 打开...zstar.sdkzstar_zynq_ps_wrapper_hw_platform_0文件夹,把PL配置文件zstar_zynq_ps_wrapper.bit也复制到sd_image文件夹下。 生成裸跑程序的启动文件BOOT.bin所必须的3个文件齐聚在sd_image文件夹下。 点击SDK的菜单Xilinx -->Create Boot Image。 弹出的CreateBoot Image对话框中,设定Output BIF file path到sd_image文件夹下,产生output.bif文件到该文件夹。然后依次点击Boot image partitions按钮加载f***l_project.elf、zstar_zynq_ps_wrapper.bit和HelloWorld.elf文件。 特别需要注意的是,f***l_project.elf的文件Partitiontype选择bootloader,而zstar_zynq_ps_wrapper.bit和HelloWorld.elf文件则选择datafile。点击Boot imagepartitions右侧Add菜单,分别加载这3个文件。 完成设定后,如图所示,点击CreateImage按钮。 在sd_image文件夹下,出现了新产生的BOOT.bin文件。 将Micro SD卡通过读卡器插入PC中,用FAT32进行格式化。然后将生产的BOOT.bin文件拷贝到Micro SD卡中。 将Micro SD卡插入Zstar板的SD卡槽中。 在Zstar板子上,设置跳线帽P3为SD BOOT模式,即PIN1-2短接。 连接好串口线(USB线连接PC的USB端口和Zstar板的UART接口)和Xilinx下载线(下载器连接PC的USB端口和Zstar板的JTAG插座)。使用5V电源给板子供电。 打开串口调试助手PuTTY,正确设置端口号和波特率。 |
|
相关推荐
1 个讨论
|
|
只有小组成员才能发言,加入小组>>
882个成员聚集在这个小组
加入小组4499 浏览 0 评论
特权同学 Verilog边码边学 Lesson01 Vivado下载与安装
2611 浏览 1 评论
玩转Zynq连载50——[ex69] FIR滤波器IP仿真实例
4292 浏览 2 评论
玩转Zynq连载49——[ex68] MT9V034摄像头的图像FFT滤波处理
5239 浏览 1 评论
玩转Zynq连载48——[ex67] Vivado FFT和IFFT IP核应用实例
5270 浏览 0 评论
1920浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:29 , Processed in 0.482063 second(s), Total 43, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号