https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html
https://xilinx-wiki.atlassian.net/wiki/x/EYMfAQ
- Copy For the boot images, simply copy the files to the FAT partition. This typically will include BOOT.BIN, image.ub, and boot.scr
sudo mkdir -p boot
sudo mount /dev/sdd1 boot
sudo cp <PATH_TO_BUILD_DIR>/petalinux/<TARGET_NAME>/images/linux/system.bit boot/.
sudo cp <PATH_TO_BUILD_DIR>/petalinux/<TARGET_NAME>/images/linux/BOOT.BIN boot/.
sudo cp <PATH_TO_BUILD_DIR>/petalinux/<TARGET_NAME>/images/linux/image.ub boot/.
sudo cp <PATH_TO_BUILD_DIR>/petalinux/<TARGET_NAME>/images/linux/boot.scr boot/.
sudo umount boot
sudo rm -rf boot
- For the root file system, the process will depend on the format of your root file system image.
roofts.ext4 - This is an uncompressed ext4 file system image. To copy the contents to the root partition, you can use the following command:
sudo dd if=<PATH_TO_BUILD_DIR>/petalinux/<TARGET_NAME>/images/linux/rootfs.ext4 of=/dev/<DEV_NAME>
xsct
connect
targets -set -nocase -filter {name =~ "*PSU*"}
stop
mwr 0xff5e0200 0x0100
rst -system
disconnect
xsct
connect
targets -set -nocase -filter {name =~ "*PSU*"}
stop
mwr 0xff5e0200 0x2100
rst -system
con
disconnect
xsct
connect
targets -set -nocase -filter {name =~ "*PSU*"}
stop
mwr 0xff5e0200 0x3100
rst -system
con
disconnect
xsct
connect
targets -set -nocase -filter {name =~ "*PSU*"}
stop
mwr 0xff5e0200 0x4100
rst -system
con
disconnect
# Go to petalinux project directory
cd <MY_PROJECT>
# Execute the command
petalinux-boot --jtag --kernel --fpga
Note: Make sure you power cycle the board before JTAG boot
# Go to petalinux project directory
cd <MY_PROJECT>
# Execute the command
petalinux-package --bsp -p SpaceRfSocXilinxZcu208DevBoard -o SpaceRfSocXilinxZcu208DevBoard.bsp
Note: Make sure you power cycle the board before JTAG boot
# Go to petalinux project directory
cd <MY_PROJECT>
# Define default parameters
default_parameter="\
-flash_type qspi-x8-dual_parallel \
-blank_check -verify \
-fsbl images/linux/zynqmp_fsbl.elf"
# Execute the commands
program_flash -f images/linux/BOOT.BIN -offset 0x0000000 $default_parameter
program_flash -f images/linux/boot.scr -offset 0x3E80000 $default_parameter
program_flash -f images/linux/image.ub -offset 0x4000000 $default_parameter
Note: Assuming "qspi-x8-dual_parallel" for QSPI configuration
# Go to petalinux project directory
cd <MY_PROJECT>
# Define default parameters
default_parameter="\
-flash_type nand-x8-single \
-blank_check -verify \
-fsbl images/linux/zynqmp_fsbl.elf"
# Execute the commands
program_flash -f images/linux/BOOT.BIN -offset 0x0000000 $default_parameter
program_flash -f images/linux/boot.scr -offset 0x3E80000 $default_parameter
program_flash -f images/linux/image.ub -offset 0x4180000 $default_parameter
This procedure will force EM_ERR_ID_CSU_ROM=0x1, which will trigger PS_ERROR_OUT.
EM_ERR_ID_CSU_ROM is BIT0 of pmuErrorToPl[46:0] bus (A.K.A. "JTAG Error Register").
Refer to "JTAG Error Register" on pg 138 of Zynq UltraScale+ Device TRM UG1085 (v2.2).
xsct
connect
targets -set -nocase -filter {name =~ "*PSU*"}
mwr -force 0x00FFD80528 0x8000FFFF
disconnect
cd submodule/axi-soc-ultra-plus-core
xsct
source xsct_debug_dump.tcl