pynq-1 viaodo配置和启动uboot

本文详细记录了如何在Pynq-Z1上移植U-Boot,包括使用Vivado创建BISTream,配置clock和DDR,更换设备树,启用QSPI,以及在Vitis中创建FSBL和BOOT.BIN进行烧录的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pynq-Z1 u-boot移植笔记

Author: (2022.10.21)

创建vivado,生成bistream,因为前期不清楚芯片pynq-z1如何配置时钟和ddr部分,可以网上下载board file,然后在vivado安装目录下,新建board_file目录,将pynq-z1 board file放在此目录,就可以在vivado的board部分看到pynq-z1板卡,直接选中,然后新建clock,design,开始编译shengchenghdl,然后生成bitstream,倒出hardwave信息表,在vitis中使用

当前使用费的vivado和vitis是2021版本的

在官网下载xilinx-uboot-2021.2版本

默认xilinx_zynq_virt_defconfig中的设备使用的是zynz-zc706.dts(在arch/arm/dts中)

以下时钟不做更改,串口会打印乱码

在configs下找到xilinx_zynq_virt_defconfig.h(这个文件是官方说明在高版本的u-boot中,使用这个文件配置zynq系列芯片)更改设备树文件:这里使用的设备树更改为zynq-zc702.dts



u-boot源码根目录下,执行make menuconfig,配置QSPI使能

配置和编译:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_virt_defconfig 

make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 

可以在u-boot中看到生成的u-boot.Elf

 

Vitis创建fsbl:然后编译

Creat boot image

开机uart0打印结果,(注意需要设置为115200,vivado中串口配置一样需要设置为115200)

总操作:

pynq-z1移植uboot:

当前使用费的vivado和vitis是2021版本的

在官网下载xilinx-uboot-2021.2版本

默认xilinx_zynq_virt_defconfig中的设备使用的是zynz-zc706.dts(在arch/arm/dts中)

将这里使用的设备树更改为zynq-zc702.dts

打开zynq-zc702.dts

此时串口使用的是serial0=uart1,见这里更改为uart0

添加&uart0设备树节点,将mio引脚添加上去,

最重要一点pynq-z1通过vivado创建的ps时钟是50M的

默认官方是33.33333M的,需要在dts文件中找到ps时钟,将时钟修改为50M

使用

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_virt_defconfig 

make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 

执行编译出来

拷贝u-boot.elf到桌面,用vitis创建fsbl,将模式强制更改为qspi_mode

然后将通过bootimage(使用new的)创建BOOT.BIN(包含当前的fsbl(bootloader),xx.bit,u-boot.elf)

然后生成后通过pramgram flash烧录进去板子,然后重启,将引脚模式跳冒到QSPI模式,开端口可以boot启动的信息

因为设置为QSPI启动,需要在uboot源码中配置,将make menuconfig开启配置

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值