Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|ID#
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
!|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|{{oldid2022/11/22|17xxxstyle="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L-1.0.0-rc1 release|17xxx}}-!|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|Q1 20232024/01/22!|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|DESK-XZ7-L -1.0.0 1 release
|-
|}
==Restoring U-Boot on SPI NOR flash==
This article describes how to restore U-Boot on SPI NOR flash in case it gets corrupted or it is deleted accidentally.
 
At the end of the procedure, the default partitioning of the NOR flash will be restored. It is depicted in the following image.
 
[[File:DESK-NOR-flash-partitioning.png|thumb|center|600px|NOR flash default partitioning scheme]]
===Instructions===
First of all, create a bootable microSD card as described [[DESK-XZ7-L/DeploymentDevelopment/Standalone_bootCreating_and_building_the_Petalinux_project#Program_boot_images_into_SD_cardPetalinux_build |here]].
Then, boot the board with the microSD card and stop the automatic boot process of U-Boot in order to access the console.
<pre class="workstation-terminal">
U-Boot 2021.01-desk-xz7-l-1.0.01 (Oct Jan 12 2021 2024 - 0910:2844:42 15 +0000)
CPU: Zynq 7z0207z030
Silicon: v3.1
Model: Bora
DRAM: ECC disabled 1 GiB
Flash: 0 Bytes
Out: serial@e0001000
Err: serial@e0001000
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
SOM ConfigID#: 00000004
SOM UniqueID#: 2a0e92c4:03193a4b
CB ConfigID#: ffffffff
CB UniqueID#: ffffffff:ffffffff
SF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiB
Warning: MAC addr not found in SPI NOR at block 8
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr -17, interface rgmii-id Warning: ethernet@e000b000 (eth0) using random MAC address - 72:2c:e1:44:08:28
eth0: ethernet@e000b000
Hit any key ENTER within 2 seconds to stop autoboot: 0
Zynq>
</pre>
====Programming U-Boot SPI NOR flash from ethernetuSD====* Initialize and format QSPINOR memory <pre class="workstation-terminal">Zynq> sf probeProperly define the ethernet configuration parameterSF:Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBZynq> sf erase 0 0x1000000SF: 16777216 bytes @ 0x0 Erased: OK</pre> * Install <code>BOOT.BIN</code> on QSPINOR memory 
<pre class="workstation-terminal">
Zynq> setenv ipaddr 192fatload mmc 0:1 $kernel_addr_r BOOT.168BIN7033004 bytes read in 406 ms (16.0.905 MiB/s)Zynq> setenv serverip 192.168.sf write $kernel_addr_r 0x0 $filesizedevice 0.23offset 0x0, size 0x6b50acSF: 7033004 bytes @ 0x0 Written: OK
</pre>
* download via TFTP the Install <code>BOOTimage.BINub</code> binary image. Then, burn them in NOR flash on QSPINOR memory: 
<pre class="workstation-terminal">
Zynq> mw $kernel_addr_r 0x0 $filesizeZynq> fatload mmc 0:1 $kernel_addr_r image.ub4868556 bytes read in 287 ms (16.2 MiB/s)Zynq> sf write $kernel_addr_r 0x700000 $filesizedevice 0 offset 0x700000, size 0x4a49ccSF: 4868556 bytes @ 0x700000 Written: OK</pre> * Install <code>boot.scr</code> on QSPINOR memory <pre class="workstation-terminal">Zynq> mw $kernel_addr_r 0x0 $filesizeZynq> fatload mmc 0:1 $kernel_addr_r boot.scr2709 bytes read in 14 ms (188.5 KiB/s)Zynq> sf write $kernel_addr_r 0xFC0000 $filesizedevice 0 offset 0xfc0000, size 0xa95SF: 2709 bytes @ 0xfc0000 Written: OK</pre> ====Programming SPI NOR flash from ethernet====* Initialize and format QSPINOR memory <pre class="workstation-terminal">Zynq> sf probeSF: Detected s25fl128s with page size 256 Bytes, erase size 64 KiB, total 16 MiBZynq> sf erase 0 0x1000000SF: 16777216 bytes @ 0x0 Erased: OK</pre> * Properly define the ethernet configuration parameter:<pre class="workstation-terminal">Zynq> setenv boot_addr_r 0x1000000ipaddr 192.168.0.89Zynq> setenv serverip 192.168.0.99</pre> * download via TFTP the <code>BOOT.BIN</code> binary image and write <code>BOOT.BIN</code> on QSPINOR memory<pre class="workstation-terminal">Zynq> tftpboot ${boot_addr_r} kernel_addr_r desk-xz7-l/BOOTdesk-xz7-l-1.0.1_borax_BOOT.BIN
Using ethernet@e000b000 device
TFTP from server 192.168.0.2399; our IP address is 192.168.0.9089Filename 'desk-xz7-l/BOOTdesk-xz7-l-1.0.1_borax_BOOT.BIN'.ERROR: reserving fdt memory region failed (addr=3e000000 size=1000000)Load address: 0x10000000x2000000Loading: #T ################################################################... ################################################################# ... ################################################################# 1######### 444.7 MiB3 KiB/s
done
Bytes transferred = 22149396 7033004 (151f914 6b50ac hex)Zynq> sf write $kernel_addr_r 0x0 $filesizedevice 0 offset 0x0, size 0x6b50acSF: 7033004 bytes @ 0x0 Written: OK</pre>
* download via TFTP the <code>image.ub</code> binary image and write <code>image.ub</code> on QSPINOR memory
<pre class="workstation-terminal">
Zynq> mw $kernel_addr_r 0x0 $filesize
Zynq> tftpboot $kernel_addr_r desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ub
Using ethernet@e000b000 device
TFTP from server 192.168.0.99; our IP address is 192.168.0.89
Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_image.ub'.
Load address: 0x2000000
Loading: #T ################################################################
#################################################################
...
#################################################################
#########################################
394.5 KiB/s
done
Bytes transferred = 4868556 (4a49cc hex)
Zynq> sf write $kernel_addr_r 0x700000 $filesize
device 0 offset 0x700000, size 0x4a49cc
SF: 4868556 bytes @ 0x700000 Written: OK
</pre>
[[BORA_SOM* download via TFTP the <code>boot.scr</BORA_Evaluation_Kitcode> binary image and write <code>boot.scr</Getting_startedcode> on QSPINOR memory<pre class="workstation-terminal">Zynq> mw $kernel_addr_r 0x0 $filesizeZynq> tftpboot $kernel_addr_r desk-xz7-l/Boot_Configurations|Select the SPI NOR flash as boot desk-xz7-l-1.0.1_borax_boot.scrUsing ethernet@e000b000 device]], remove the microSD card, and reset the boardTFTP from server 192.168.0.99; our IP address is 192.168.0.89Filename 'desk-xz7-l/desk-xz7-l-1.0.1_borax_boot. The board should boot off the NOR flash as shown in the following imagescr'.Load address: 0x2000000Loading: #T 0 Bytes/sdoneBytes transferred = 2709 (a95 hex)Zynq> sf write $kernel_addr_r 0xFC0000 $filesizedevice 0 offset 0xfc0000, size 0xa95SF: 2709 bytes @ 0xfc0000 Written: OK</pre>
<pre class="workstation-terminal">Zynq> [[BORA_SOM/BORA_Evaluation_Kit/Getting_started/Boot_Configurations|Select the SPI NOR flash as boot device]], install a rootfs into second partition of microSD card, and resetresetting .the board.The board should boot off the NOR flash as shown in the following log.
U-Boot 2021.01 (Oct 12 2021 - 09:28:42 +0000)
CPU: Zynq 7z020
Silicon: v3.1
DRAM: ECC disabled 1 GiB
Flash: 0 Bytes
NAND: 0 MiB
MMC: mmc@e0100000: 0
Loading Environment from SPIFlash... SF: Detected s25fl256s1 with page size 256 Bytes, erase size 64 KiB, total 32 MiB
*** Warning - bad CRC, using default environment
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Net:
ZYNQ GEM: e000b000, mdio bus e000b000, phyaddr -1, interface rgmii-id
eth0: ethernet@e000b000
Hit any key to stop autoboot: 0
</pre>
<section end=Body/>
dave_user
422
edits