参考这篇文章:ZYNQ学习笔记 程序固化 - 骆驼弟弟 - 博客园 (cnblogs.com)
基于 EBAZ4205板子的程序固化方法:(以hello world为例,板子上电就串口打印hello world)
Zynq 的启动逻辑是上电后先启动arm,ps读取io确定是哪种启动方式(flash、sd卡、jtag)。板子初始设置启动是从nand flash中启动。
vivado配置:
首先创建一个工程,直接新建一个block design 。点击加号,添加zynq ip 。需要配置的东西有:
1、先关掉axi(hello world不需要这个)
2、外设配置:
勾一个nand flash 和 uart1
3、mio配置电平标准
电平全部配置为3.3v
4、时钟配置
我在pl端焊上了50Mhz的晶振,这个地方不需要再配置了
5、DDR配置
设置一下ddr3和pcb数据延迟
6、smc时许设置
设置一下NAND flash 的时序:
7、配置完成之后点击ok ,右击ip,点make external 并检查可用性
8、右击sources中的设计 ,创建封装与输出
9、生成bit流
10、导入设计到SDK : file -> export 导出硬件,需要勾上bit文件
file -> launch 打开sdk
SDK配置:
1、新建一个应用工程与FSBL工程
2、ctrl+B 编译工程,保存编译产生两个elf即 app.elf fsbl.elf
3、制作BOOT.bin:
4、下载bin文件到flash中:上电板子串口即打印hello world 且断电程序不掉
5、vofa调试: