zynq芯片使用国产flash烧写boot.bin_charles遇见的博客-爱代码爱编程
zynq芯片国产Flash烧写BOOT.BIN
简述:很多公司在zynq芯片研制过程中,为了能够控制成本,达到降本增效的要求,往往会选择国产的部件,例如flash等。
所以这篇内容主要以ZYNQ7045使用国产FLASH作为例子来说明方法。
主要使用xilinx SDK中的XSCT(Xilinux Software Command-Line Tool),手动输入命令加载u-boot。
使用petalinux准备好下面四个文件:
z7045_wrapper.bit
ps7_init.tcl(JTAG调试时使用)
u-boot.elf
BOOT.BIN
第一步:先在vivado打开SDK工程,点击Xilinx Tools选择XSCT Console窗口
第二步:输入命令:
1.cd 目标码所在文件夹
2.source 123(123是一个脚本文件,执行就可)
命令解析请看下面链接
链接: XILINX SDK XSCT/XMD 命令大全以及使用说明
等待跑完,提示成功后进入串口
3.reset串口,进入boot命令行(一般按ESC)
依次输入以下命令:
烧写boot.bin
sf probe 0 50000000 0 检测SPI NOR flash sf probe [bus:]cs [hz] [mode]
tftpboot 0x1000000 BOOT.BIN 将文件拷贝到DDR中的0x1000000
sf erase 0x0 0x200000 擦除偏移0x0处到0x200000之间的内存块//擦除空间大小根据实际烧写软件大小决定;
sf write 0x1000000 0x0 0x64df4 把0x1000000处的数据写入flash的偏移0x0处,数据长度为0x64df4的数据 ,大小由软件使用tftp时计算
注意:使用tftp时,PC端记得打开tftp工具,选择目标所在目录。
重启之后出现boot引导,引导之后,cpu继续读取下面flash,继续往下走,会出现很多打印消息。(在boot烧写过程中,我们只擦除了flash中的boot文件,其他文件还存在,所以还存在打印)
boot启动之后才能启动其他文件。
相似文章参考推荐:链接: Xilinx软件开发: 用仿真器在XSCT下加载u-boot