@@ -184,7 +184,7 @@ In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Docume
...
@@ -184,7 +184,7 @@ In my case **\<PATH_TO_SCALP_FIRMWARE_PROJECT\>** corresponds to /home/jo/Docume
### Bug in the U-Boot config with the selection of the ZYNQ_SPI driver
### Bug in the U-Boot config with the selection of the ZYNQ_SPI driver
Despite the fact that some drivers and commands are preselected in the U-Boot configuration specific to the SCALP board, they are not automatically taken into account. It is therefore necessary to select the ZYNQ\_SPI driver manually. The same applies to the drivers relating to the Fixed-Link PHY (PHY\_FIXED) and Xilinx Ethernet PHYs support (PHY\_XILINX) and to the commands relating to the UBIFS file system (CMD\_UBI and CMD\_UBIFS).
Despite the fact that some drivers and commands are preselected in the U-Boot configuration specific to the SCALP board, they are not automatically taken into account. It is therefore necessary to select the ZYNQ\_SPI driver manually. The same applies to the drivers relating to the Fixed-Link PHY (PHY\_FIXED) and Xilinx Ethernet PHYs support (PHY\_XILINX) and to the commands relating to the UBIFS file system (CMD\_UBI and CMD\_UBIFS) and the UBIFS environment (ENV\_IS\_IN\_UBI, ENV\_UBI\_PART, ENV\_UBI\_VOLUME and ENV\_UBI\_VID\_OFFSET).
First, you need to open the U-Boot configuration menu, after cleaning up the project.
First, you need to open the U-Boot configuration menu, after cleaning up the project.
**You can optionally return to the U-Boot configuration menu to check that the ZYNQ_SPI, PHY_FIXED and PHY_XILINX drivers and the CMD_UBI and CMD_UBIFS commands have been taken into account.**
**You can optionally return to the U-Boot configuration menu to check that the ZYNQ_SPI, PHY_FIXED and PHY_XILINX drivers and the CMD_UBI and CMD_UBIFS commands and the UBI environment have been taken into account.**
### Build the PetaLinux project
### Build the PetaLinux project
...
@@ -254,18 +266,7 @@ $ find . -name ubifs.o
...
@@ -254,18 +266,7 @@ $ find . -name ubifs.o
> ...
> ...
```
```
### Creation of the basic image of the U-Boot environment
**And you can do the same for other ".o" binary files related to other U-Boot configuration settings.**
The image content can be produced by using the **mkenvimage** command.
**This information alone is not sufficient. Please refer to subsection [Geometric organisation](#howto-obtain-information-about-the-geometric-organisation-of-the-spi-nor-memory).**
**This information alone is not sufficient. Please refer to subsection [Geometric organisation](#howto-obtain-information-about-the-geometric-organisation-of-the-spi-nor-memory).**
**This is necessary to prevent a new UBI/UBIFS file system from being partially overwritten with an old UBI/UBIFS file system. In this case, the UBI/UBIFS file system will appear corrupted and errors will appear. The fact that two different versions of a file system can be partially overlapped is due to the fact that the program that flash the memory does not erase the entire memory, but only partially, up to the size of the BOOT.BIN firmware.**
The produced binary file can be found in the **./images/linux** folder. The **FIT image** of the Linux kernel is located at the address **0x540000**.
The produced binary file can be found in the **./images/linux** folder. The **FIT image** of the Linux kernel is located at the address **0x540000**.
...
@@ -479,53 +525,21 @@ List of MTD devices:
...
@@ -479,53 +525,21 @@ List of MTD devices:
- min I/O: 0x1 bytes
- min I/O: 0x1 bytes
- 0x000000000000-0x000002000000 : "nor0"
- 0x000000000000-0x000002000000 : "nor0"
- 0x000000000000-0x000000500000 : "boot"
- 0x000000000000-0x000000500000 : "boot"
- 0x000000500000-0x000000520000 : "bootenv"
- 0x000000500000-0x000002000000 : "ubi"
- 0x000000520000-0x000000540000 : "dtb"
- 0x000000540000-0x000000d40000 : "fitimage"
- 0x000000d40000-0x000002000000 : "ubifs"
```
```
```
```
device nor0 <nor_flash>, # parts = 5
device nor0 <nor_flash>, # parts = 2
#: name size net size offset mask_flags
#: name size net size offset mask_flags
0: boot 0x00500000 0x00500000 0x00000000 1
0: boot 0x00500000 0x00500000 0x00000000 1
1: bootenv 0x00020000 0x00020000 0x00500000 1
1: ubi 0x01b00000 0x01b00000 0x00500000 0
2: dtb 0x00020000 0x00020000 0x00520000 1
3: fitimage 0x00800000 0x00800000 0x00540000 1
4: ubifs 0x012c0000 0x012c0000 0x00d40000 0
active partition: nor0,0 - (boot) 0x00500000 @ 0x00000000
active partition: nor0,0 - (boot) 0x00500000 @ 0x00000000
**First of all, to flash the board, it is necessary to set switch SW1 (BOOT MODE) in JTAG mode. Then, once the card is flashed, it is necessary to set switch SW1 back in QSPI mode and reconnect the board.**
**First of all, to flash the board, it is necessary to set switch SW1 (BOOT MODE) in JTAG mode. Then, once the card is flashed, it is necessary to set switch SW1 back in QSPI mode and reconnect the board.**
**Caution: The frequency used for the operation of the JTAG probe is 30 [MHz]. Check that your JTAG probe supports this operating frequency.**
The **program_flash** command is located in the Vitis installation folder **/\<VITIS_PATH\>/2020.2/bin/program_flash** or in the PetaLinux installation folder **/\<PETALINUX_PATH\>/2020.2/bin/tools/xsct/bin**.
The **program_flash** command is located in the Vitis installation folder **/\<VITIS_PATH\>/2020.2/bin/program_flash** or in the PetaLinux installation folder **/\<PETALINUX_PATH\>/2020.2/bin/tools/xsct/bin**.