pynq-1 viaodo配置和启动uboot

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中使用

pynq-1 viaodo配置和启动uboot_第1张图片pynq-1 viaodo配置和启动uboot_第2张图片

pynq-1 viaodo配置和启动uboot_第3张图片pynq-1 viaodo配置和启动uboot_第4张图片

pynq-1 viaodo配置和启动uboot_第5张图片pynq-1 viaodo配置和启动uboot_第6张图片pynq-1 viaodo配置和启动uboot_第7张图片pynq-1 viaodo配置和启动uboot_第8张图片pynq-1 viaodo配置和启动uboot_第9张图片pynq-1 viaodo配置和启动uboot_第10张图片

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

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

默认xilinx_zynq_virt_defconfig中的设备使用的是zynz-zc706.dts(在arch/arm/dts中)pynq-1 viaodo配置和启动uboot_第11张图片

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

pynq-1 viaodo配置和启动uboot_第12张图片pynq-1 viaodo配置和启动uboot_第13张图片pynq-1 viaodo配置和启动uboot_第14张图片

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

pynq-1 viaodo配置和启动uboot_第15张图片

u-boot源码根目录下,执行make menuconfig,配置QSPI使能pynq-1 viaodo配置和启动uboot_第16张图片

配置和编译:

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

pynq-1 viaodo配置和启动uboot_第17张图片

 

Vitis创建fsbl:然后编译

Creat boot image

pynq-1 viaodo配置和启动uboot_第18张图片pynq-1 viaodo配置和启动uboot_第19张图片pynq-1 viaodo配置和启动uboot_第20张图片pynq-1 viaodo配置和启动uboot_第21张图片pynq-1 viaodo配置和启动uboot_第22张图片

pynq-1 viaodo配置和启动uboot_第23张图片

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

pynq-1 viaodo配置和启动uboot_第24张图片

总操作:

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开启配置

你可能感兴趣的:(pynq-1,zynq,linux,uboot)