News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

Boot test board for TE0820 module + TE0701 carrier

Started by SaW, April 16, 2019, 04:00:03 PM

Previous topic - Next topic

SaW

Good Morning,

I hope that i am not repeating previous post on the subject. But i tried several approach and still stuck
To resume, i recently purchassed a module TE0820 with a carrier board TE0701.
my module is labelled TE0820-03-03EG-1EL, I downloaded the test board .zip from the trenz website :https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/4x5/TE0820/Reference_Design/2018.2/test_board
the second file: TE0820-test_board-vivado_2018.2-build_03_20181031164452.zip

following the README file i used the board file for the TE0820-02-3EG-1EL (guessed that the 02 was for the version2 and just needed to modify the design after to make it fit to version 3)
create the files : hardware, changed Bank1 mio 26:51 to LVCMOS18, i saw that apparently on carrier the voltage was of 1,8volts(SD1 using mio 46:51)  and petalinux files
i get a BOOT.bin and an image.ub

now i would like to boot my board and carrier using those files on my SDCards and if my pc recognized that i have a device plugged when I put the carrier ON nothing happens.

setting for my carrier:
M1/M2 are OFF so should provided 1,8volt on the FMC_VADJ
and so no conflict happens SW4-1/-2/-3 are ON so FMC_VADJ should only takes his value from the setting of DIP switch 3.
Dip-switch-3-3 (enjtag) is OFF so should enable the JTAG interface from the CPLD(on carrier if i got it correctly)

my led (on module) green blink with the pattern ****0000
so i tried with the boot mode QSPI.
On vivado i connect my device the jtag, it seems to be recognized (no error message) but i get :
Connected to hw_server @ TCP:localhost:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-25163300273AA
Device 0: jsn-JTAG-ONB4-25163300273AA-012ba043-0

Retrieving Flash info...

Initialization done, programming the memory
Problem in Connecting to Target
Flash programming initialization failed.

ERROR: Flash Operation Failed

child process exited abnormally.


The flash boot is not working. I tried only via sdcard (boot.bin and image.ub) but nothing happens.. i tried to change the ENJTAG to ON but  then Hardware Manager from vivado doesn't recognized the device anymore

keeping looking i found a file TE_MASTER_PINOUT that indicate the fpga pin for my module to the carrier board... but they are completely different from the ones configured in the vivado project of the test_board for example here SDdata2 to 0 and CMD and CLK are connected to pin 17/19/21/23/25/27 and are supposed to be powered by 1,8 volts

If anyone has an idea on how/why that would be great, kind of getting lost ^^'

Best regards
Sarah




JH

Hi,
TE0820-03-03EG-1EL is included into the 2018.3 reference design:
TE0820-02-03EG-1EL has other DDR, so please use the correct version from Vivado 2018.3 reference design.

SD MIO Bank is 3.3V on TE0820 modules, SD on TE0701 is SD, the power level is not correct, but it work (TE0701 was done for 7 series, where all was 1.8V., updated with selectable SD Power is planned).To boot from QSPI. You must remove SD from TE0701. CD is used to select the boot mode (you can also change this, CPLD Firmware project of the carrier is available on the download area)

Use the special FSBL for QSPI programming to program flash (FSBL which must select in the GUI), when the bootmode is not JTAG.But at first try out the prebuilt of 18.3 with SD Boot.

If you has still problems, let me know.

br
John




SaW

Hi John,
it worked! i was working with vivado 2018.2 before that's why i used to folder from there but uninstall 2018.2 and add 2018.3 and now it is working

Just i tried also to use the files from the no_prebuild folders and i got an error on the synthesis of the Utility Buffer, the util_ds_buf_0_0_board.xdc wasn't compatible apparently (even if was actually building it for the first time since was the no prebuild project) and it was saying they was an error on the set_property.. but the file was actually empty.
After built the project using the prebuild files and it worked so i just stopped working with the no_prebuild folder.

Only thing is, i tried to boot using the qspi but couldn't... also vivado doesn't recognized my devise.. i wonder if this isn't the problem.

but can at least boot from SDcard, thank you a lot :)
best regards
Sarah


JH

Hi,
Quotest i tried also to use the files from the no_prebuild folders and i got an error on the synthesis of the Utility Buffer, the util_ds_buf_0_0_board.xdc wasn't compatible apparently (even if was actually building it for the first time since was the no prebuild project) and it was saying they was an error on the set_property.. but the file was actually empty.

Did you use longer path or space character in your path?
Prebuilt and non prebuilt are the same projects. Only different is the prebuilt folder. I tried out "TE0820-test_board_noprebuilt-vivado_2018.3-build_03_20190401130135.zip", it was running.
Can you create the project again (complete new) and send me the logfile (/vlog folder).

What did you see exactly when you open Vivado HW Manager and you try to connect?
br
John

SaW

Hi John,
I think the problem was the longer path, i tried again today directly from the original folder and it worked too
for the QSPI i just figured that i wasn't enabling the jtag for the module but just using the one of the carrier.. it recognize my device i just have this warning :

CRITICAL WARNING: [Labtools 27-3421] xczu3_0 PL Power Status OFF, cannot connect PL TAP.  Check POR_B signal.
I wonder if this is not an issue because after with the command: TE::pr_program_flash_binfile -swapp u-boot
i get this log :

Start Flash Programming with BIN File
Used file:/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin
INFO: [TE_PR-41] Start program flash:
  Run "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel" in /home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot
  Please Wait..
  ------
INFO: [TE_EXT-5] Command results from program flash "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel":
 
****** Xilinx Program Flash
****** Program Flash v2018.3 (64-bit)
  **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
    ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


Connected to hw_server @ TCP:localhost:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-25163300273AA
Device 0: jsn-JTAG-ONB4-25163300273AA-14710093-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xFF5E0204, data=0x00000555 =====
BOOT_MODE REG = 0x0555
WARNING: [Xicom 50-100] The current boot mode is SD1.
If flash programming fails, configure device for JTAG boot mode and try again.
Downloading FSBL...
Running FSBL...
Finished running FSBL.


U-Boot 2018.01-00073-g63efa8c-dirty (Oct 04 2018 - 08:27:12 -0600)

Model: ZynqMP MINI QSPI
Board: Xilinx ZynqMP
DRAM:  256 KiB
EL Level: EL3
Using default environment

In:    dcc
Out:   dcc
Err:   dcc
ZynqMP> sf probe 0 0 0

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB
ZynqMP> Sector size = 131072.
f probe 0 0 0

Performing Erase Operation...
sf erase 0 2C0000

SF: 2883584 bytes @ 0x0 Erased: OK
ZynqMP> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 7 sec.
Performing Program Operation...
0%...sf write FFFC0000 0 20000

device 0 offset 0x0, size 0x20000
SF: 131072 bytes @ 0x0 Written: OK
ZynqMP> sf write FFFC0000 20000 20000

device 0 offset 0x20000, size 0x20000
SF: 131072 bytes @ 0x20000 Written: OK
ZynqMP> sf write FFFC0000 40000 20000

device 0 offset 0x40000, size 0x20000
SF: 131072 bytes @ 0x40000 Written: OK
ZynqMP> sf write FFFC0000 60000 20000

device 0 offset 0x60000, size 0x20000
SF: 131072 bytes @ 0x60000 Written: OK
ZynqMP> sf write FFFC0000 80000 20000

device 0 offset 0x80000, size 0x20000
SF: 131072 bytes @ 0x80000 Written: OK
ZynqMP> sf write FFFC0000 A0000 20000

device 0 offset 0xa0000, size 0x20000
SF: 131072 bytes @ 0xa0000 Written: OK
ZynqMP> sf write FFFC0000 C0000 20000

device 0 offset 0xc0000, size 0x20000
SF: 131072 bytes @ 0xc0000 Written: OK
ZynqMP> sf write FFFC0000 E0000 20000

device 0 offset 0xe0000, size 0x20000
SF: 131072 bytes @ 0xe0000 Written: OK
ZynqMP> sf write FFFC0000 100000 20000

device 0 offset 0x100000, size 0x20000
SF: 131072 bytes @ 0x100000 Written: OK
ZynqMP> sf write FFFC0000 120000 20000

device 0 offset 0x120000, size 0x20000
SF: 131072 bytes @ 0x120000 Written: OK
ZynqMP> sf write FFFC0000 140000 20000

device 0 offset 0x140000, size 0x20000
SF: 131072 bytes @ 0x140000 Written: OK
ZynqMP> sf write FFFC0000 160000 20000

device 0 offset 0x160000, size 0x20000
SF: 131072 bytes @ 0x160000 Written: OK
ZynqMP> sf write FFFC0000 180000 20000

device 0 offset 0x180000, size 0x20000
SF: 131072 bytes @ 0x180000 Written: OK
ZynqMP> sf write FFFC0000 1A0000 20000

device 0 offset 0x1a0000, size 0x20000
SF: 131072 bytes @ 0x1a0000 Written: OK
ZynqMP> sf write FFFC0000 1C0000 20000

device 0 offset 0x1c0000, size 0x20000
SF: 131072 bytes @ 0x1c0000 Written: OK
ZynqMP> sf write FFFC0000 1E0000 20000

device 0 offset 0x1e0000, size 0x20000
SF: 131072 bytes @ 0x1e0000 Written: OK
ZynqMP> sf write FFFC0000 200000 20000

device 0 offset 0x200000, size 0x20000
SF: 131072 bytes @ 0x200000 Written: OK
ZynqMP> 80%...sf write FFFC0000 220000 20000

device 0 offset 0x220000, size 0x20000
SF: 131072 bytes @ 0x220000 Written: OK
ZynqMP> sf write FFFC0000 240000 20000

device 0 offset 0x240000, size 0x20000
SF: 131072 bytes @ 0x240000 Written: OK
ZynqMP> 90%...sf write FFFC0000 260000 20000

device 0 offset 0x260000, size 0x20000
SF: 131072 bytes @ 0x260000 Written: OK
ZynqMP> sf write FFFC0000 280000 20000

device 0 offset 0x280000, size 0x20000
SF: 131072 bytes @ 0x280000 Written: OK
ZynqMP> 100%
sf write FFFC0000 2A0000 18208

device 0 offset 0x2a0000, size 0x18208
SF: 98824 bytes @ 0x2a0000 Written: OK
ZynqMP> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 37 sec.

Flash Operation Successful
  ------
INFO: [Labtoolstcl 44-664] Will wait up to 180 seconds for booting to complete.
INFO: [Labtools 27-2278] Zynq reset successful
INFO: [TE_PR-1] Reboot Device is done (Note successfully software reboot depends also on devices design).
CRITICAL WARNING: [Labtools 27-3421] xczu3_0 PL Power Status OFF, cannot connect PL TAP.  Check POR_B signal.
INFO: [Labtools 27-1435] Device xczu3 (JTAG device index = 0) is not programmed (DONE status = 0).
INFO: [TE_PR-2] Refresh Device is done.
INFO: [TE_PR-56] Programming elapsed time: 68 seconds
Flash Programming with BIN File finished
/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin


But if use the sdcard with image.ub nothing happens.

i tried without opening hardware manager and i get a similar log: (same command)

Start Flash Programming with BIN File
Used file:/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin
INFO: [TE_PR-41] Start program flash:
  Run "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel" in /home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot
  Please Wait..
  ------
INFO: [TE_EXT-5] Command results from program flash "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel":
 
****** Xilinx Program Flash
****** Program Flash v2018.3 (64-bit)
  **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
    ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


Connected to hw_server @ TCP:localhost:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-25163300273AA
Device 0: jsn-JTAG-ONB4-25163300273AA-14710093-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xFF5E0204, data=0x00000555 =====
BOOT_MODE REG = 0x0555
WARNING: [Xicom 50-100] The current boot mode is SD1.
If flash programming fails, configure device for JTAG boot mode and try again.
Downloading FSBL...
Running FSBL...
Finished running FSBL.


U-Boot 2018.01-00073-g63efa8c-dirty (Oct 04 2018 - 08:27:12 -0600)

Model: ZynqMP MINI QSPI
Board: Xilinx ZynqMP
DRAM:  256 KiB
EL Level: EL3
Using default environment

In:    dcc
Out:   dcc
Err:   dcc
ZynqMP> sf probe 0 0 0

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB
ZynqMP> Sector size = 131072.
f probe 0 0 0

Performing Erase Operation...
sf erase 0 2C0000

SF: 2883584 bytes @ 0x0 Erased: OK
ZynqMP> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 7 sec.
Performing Program Operation...
0%...sf write FFFC0000 0 20000

device 0 offset 0x0, size 0x20000
SF: 131072 bytes @ 0x0 Written: OK
ZynqMP> sf write FFFC0000 20000 20000

device 0 offset 0x20000, size 0x20000
SF: 131072 bytes @ 0x20000 Written: OK
ZynqMP> sf write FFFC0000 40000 20000

device 0 offset 0x40000, size 0x20000
SF: 131072 bytes @ 0x40000 Written: OK
ZynqMP> sf write FFFC0000 60000 20000

device 0 offset 0x60000, size 0x20000
SF: 131072 bytes @ 0x60000 Written: OK
ZynqMP> sf write FFFC0000 80000 20000

device 0 offset 0x80000, size 0x20000
SF: 131072 bytes @ 0x80000 Written: OK
ZynqMP> sf write FFFC0000 A0000 20000

device 0 offset 0xa0000, size 0x20000
SF: 131072 bytes @ 0xa0000 Written: OK
ZynqMP> sf write FFFC0000 C0000 20000

device 0 offset 0xc0000, size 0x20000
SF: 131072 bytes @ 0xc0000 Written: OK
ZynqMP> sf write FFFC0000 E0000 20000

device 0 offset 0xe0000, size 0x20000
SF: 131072 bytes @ 0xe0000 Written: OK
ZynqMP> sf write FFFC0000 100000 20000

device 0 offset 0x100000, size 0x20000
SF: 131072 bytes @ 0x100000 Written: OK
ZynqMP> sf write FFFC0000 120000 20000

device 0 offset 0x120000, size 0x20000
SF: 131072 bytes @ 0x120000 Written: OK
ZynqMP> sf write FFFC0000 140000 20000

device 0 offset 0x140000, size 0x20000
SF: 131072 bytes @ 0x140000 Written: OK
ZynqMP> sf write FFFC0000 160000 20000

device 0 offset 0x160000, size 0x20000
SF: 131072 bytes @ 0x160000 Written: OK
ZynqMP> sf write FFFC0000 180000 20000

device 0 offset 0x180000, size 0x20000
SF: 131072 bytes @ 0x180000 Written: OK
ZynqMP> sf write FFFC0000 1A0000 20000

device 0 offset 0x1a0000, size 0x20000
SF: 131072 bytes @ 0x1a0000 Written: OK
ZynqMP> sf write FFFC0000 1C0000 20000

device 0 offset 0x1c0000, size 0x20000
SF: 131072 bytes @ 0x1c0000 Written: OK
ZynqMP> sf write FFFC0000 1E0000 20000

device 0 offset 0x1e0000, size 0x20000
SF: 131072 bytes @ 0x1e0000 Written: OK
ZynqMP> sf write FFFC0000 200000 20000

device 0 offset 0x200000, size 0x20000
SF: 131072 bytes @ 0x200000 Written: OK
ZynqMP> 80%...sf write FFFC0000 220000 20000

device 0 offset 0x220000, size 0x20000
SF: 131072 bytes @ 0x220000 Written: OK
ZynqMP> sf write FFFC0000 240000 20000

device 0 offset 0x240000, size 0x20000
SF: 131072 bytes @ 0x240000 Written: OK
ZynqMP> 90%...sf write FFFC0000 260000 20000

device 0 offset 0x260000, size 0x20000
SF: 131072 bytes @ 0x260000 Written: OK
ZynqMP> sf write FFFC0000 280000 20000

device 0 offset 0x280000, size 0x20000
SF: 131072 bytes @ 0x280000 Written: OK
ZynqMP> 100%
sf write FFFC0000 2A0000 18208

device 0 offset 0x2a0000, size 0x18208
SF: 98824 bytes @ 0x2a0000 Written: OK
ZynqMP> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 37 sec.

Flash Operation Successful
  ------
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/25163300273AA
INFO: [Labtoolstcl 44-664] Will wait up to 180 seconds for booting to complete.
WARNING: [Xicom 50-184] Defaulting to hardware boot mode: SD1.
INFO: [Labtools 27-2278] Zynq reset successful
INFO: [TE_PR-1] Reboot Device is done (Note successfully software reboot depends also on devices design).
INFO: [Labtools 27-1435] Device xczu3 (JTAG device index = 0) is not programmed (DONE status = 0).
create_hw_cfgmem -hw_device [get_hw_devices xczu3_0] -mem_dev [lindex [get_cfgmem_parts {mt25ql256-qspi-x8-dual_parallel}] 0]
INFO: [TE_PR-2] Refresh Device is done.
INFO: [TE_PR-56] Programming elapsed time: 71 seconds
Flash Programming with BIN File finished
/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin


And same result(none) if i use the sdcard with image.ub
for now it is not really a big issue because we would like to use the boot with SD card and it works but in case for later.
Thank you for all the help
best regards
Sarah

JH

Hi,

"
CRITICAL WARNING: [Labtools 27-3421] xczu3_0 PL Power Status OFF, cannot connect PL TAP.  Check POR_B signal.
"
This message comes if the SoC is not initialised and the bootmode is not JTAG --> Xilinx suppress this message only if boot mode is jtag.
So you can normally ignore this message.

Do you have also boot.bin on SD? when your write QSPI flash in SD Boot Mode?

br
John

SaW

Hi,
oh ok thanks.

No on the sd card i only have image.ub like you said on : https://wiki.trenz-electronic.de/display/PD/TE0820+Test+Board#TE0820TestBoard-Hardware in the programming part
when i do the flash part, sd is not there and use it after the flash programming is done
best regards
Sarah

JH

Hi,
boot mode is changed to SD automatically on TE0701 when you inserted SD. You must change TE0701 CPLD Firmware(source code is available on the carrier download area).
Or you removes the SD, boots and insert SD, when uboot appears, or put image.ub on QSPI or eMMC or ....
Does Uboot starts, when you try to boot from QSPI without SD?
br
John

SaW

Hi John,
Am not sure the Uboot starts when i try to boot with QSPI here is the log i receive on my terminal :
"Xilinx Zynq MP First Stage Boot Loader to write QSPI Flash (TE modified)
Release 2018.3   Feb 21 2019  -  09:58:55
PMU-FW is not running, certain applications may not be supported."

And the log when i use the tcl command
TE::pr_program_flash_binfile -swapp u-boot
Start Flash Programming with BIN File
Used file:/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin
INFO: [TE_PR-41] Start program flash:
  Run "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel" in /home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot
  Please Wait..
  ------
INFO: [TE_EXT-5] Command results from program flash "exec program_flash -f BOOT.bin -fsbl /home/petalinux/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel":
 
****** Xilinx Program Flash
****** Program Flash v2018.3 (64-bit)
  **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
    ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


WARNING: Failed to connect to hw_server at TCP:localhost:3121
Attempting to launch hw_server at TCP:localhost:3121

Connected to hw_server @ TCP:localhost:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-25163300273AA
Device 0: jsn-JTAG-ONB4-25163300273AA-14710093-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xFF5E0204, data=0x00000222 =====
BOOT_MODE REG = 0x0222
WARNING: [Xicom 50-100] The current boot mode is QSPI32.
If flash programming fails, configure device for JTAG boot mode and try again.
Downloading FSBL...
Running FSBL...
Finished running FSBL.


U-Boot 2018.01-00073-g63efa8c-dirty (Oct 04 2018 - 08:27:12 -0600)

Model: ZynqMP MINI QSPI
Board: Xilinx ZynqMP
DRAM:  256 KiB
EL Level: EL3
Using default environment

In:    dcc
Out:   dcc
Err:   dcc
ZynqMP> sf probe 0 0 0

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB
ZynqMP> Sector size = 131072.
f probe 0 0 0

Performing Erase Operation...
sf erase 0 2C0000

SF: 2883584 bytes @ 0x0 Erased: OK
ZynqMP> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 7 sec.
Performing Program Operation...
0%...sf write FFFC0000 0 20000

device 0 offset 0x0, size 0x20000
SF: 131072 bytes @ 0x0 Written: OK
ZynqMP> sf write FFFC0000 20000 20000

device 0 offset 0x20000, size 0x20000
SF: 131072 bytes @ 0x20000 Written: OK
ZynqMP> sf write FFFC0000 40000 20000

device 0 offset 0x40000, size 0x20000
SF: 131072 bytes @ 0x40000 Written: OK
ZynqMP> sf write FFFC0000 60000 20000

device 0 offset 0x60000, size 0x20000
SF: 131072 bytes @ 0x60000 Written: OK
ZynqMP> sf write FFFC0000 80000 20000

device 0 offset 0x80000, size 0x20000
SF: 131072 bytes @ 0x80000 Written: OK
ZynqMP> sf write FFFC0000 A0000 20000

device 0 offset 0xa0000, size 0x20000
SF: 131072 bytes @ 0xa0000 Written: OK
ZynqMP> sf write FFFC0000 C0000 20000

device 0 offset 0xc0000, size 0x20000
SF: 131072 bytes @ 0xc0000 Written: OK
ZynqMP> sf write FFFC0000 E0000 20000

device 0 offset 0xe0000, size 0x20000
SF: 131072 bytes @ 0xe0000 Written: OK
ZynqMP> sf write FFFC0000 100000 20000

device 0 offset 0x100000, size 0x20000
SF: 131072 bytes @ 0x100000 Written: OK
ZynqMP> sf write FFFC0000 120000 20000

device 0 offset 0x120000, size 0x20000
SF: 131072 bytes @ 0x120000 Written: OK
ZynqMP> sf write FFFC0000 140000 20000

device 0 offset 0x140000, size 0x20000
SF: 131072 bytes @ 0x140000 Written: OK
ZynqMP> sf write FFFC0000 160000 20000

device 0 offset 0x160000, size 0x20000
SF: 131072 bytes @ 0x160000 Written: OK
ZynqMP> sf write FFFC0000 180000 20000

device 0 offset 0x180000, size 0x20000
SF: 131072 bytes @ 0x180000 Written: OK
ZynqMP> sf write FFFC0000 1A0000 20000

device 0 offset 0x1a0000, size 0x20000
SF: 131072 bytes @ 0x1a0000 Written: OK
ZynqMP> sf write FFFC0000 1C0000 20000

device 0 offset 0x1c0000, size 0x20000
SF: 131072 bytes @ 0x1c0000 Written: OK
ZynqMP> sf write FFFC0000 1E0000 20000

device 0 offset 0x1e0000, size 0x20000
SF: 131072 bytes @ 0x1e0000 Written: OK
ZynqMP> sf write FFFC0000 200000 20000

device 0 offset 0x200000, size 0x20000
SF: 131072 bytes @ 0x200000 Written: OK
ZynqMP> 80%...sf write FFFC0000 220000 20000

device 0 offset 0x220000, size 0x20000
SF: 131072 bytes @ 0x220000 Written: OK
ZynqMP> sf write FFFC0000 240000 20000

device 0 offset 0x240000, size 0x20000
SF: 131072 bytes @ 0x240000 Written: OK
ZynqMP> 90%...sf write FFFC0000 260000 20000

device 0 offset 0x260000, size 0x20000
SF: 131072 bytes @ 0x260000 Written: OK
ZynqMP> sf write FFFC0000 280000 20000

device 0 offset 0x280000, size 0x20000
SF: 131072 bytes @ 0x280000 Written: OK
ZynqMP> 100%
sf write FFFC0000 2A0000 18208

device 0 offset 0x2a0000, size 0x18208
SF: 98824 bytes @ 0x2a0000 Written: OK
ZynqMP> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 37 sec.

Flash Operation Successful
  ------
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/25163300273AA
INFO: [Labtoolstcl 44-664] Will wait up to 180 seconds for booting to complete.
WARNING: [Xicom 50-184] Defaulting to hardware boot mode: QSPI32.
INFO: [Labtools 27-2278] Zynq reset successful
INFO: [TE_PR-1] Reboot Device is done (Note successfully software reboot depends also on devices design).
INFO: [Labtools 27-1435] Device xczu3 (JTAG device index = 0) is not programmed (DONE status = 0).
INFO: [TE_PR-2] Refresh Device is done.
INFO: [TE_PR-56] Programming elapsed time: 73 seconds
Flash Programming with BIN File finished
/home/petalinux/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin


I have the same result with the hello_te0820 Programm also, i suppose the problem comes from the PMU-FW since this is the only warning i receive. Will see by recompiling the zynqmp-fsbl and zynqmp_fsbl_flash
best regards
Sarah

JH

Hi,
prebuilt boot.bin for uboot has pmu included (see boot.bif in the same folder). Only on hello te0820 is without.
Did you built it manuelly by yourself?

br
John

SaW

Hi,
Yes i checked the boot.bif and it is written inside.
However I figured that i didn't do this part :
"Reason: start "gmake" failed, alias is not set on Ubuntu
Workaround: "sudo ln -s /usr/bin/make /usr/bin/gmake" to generate alias or use  SDK GUI to generate applications and boot files."
in the part current limitation of functionality in : https://wiki.trenz-electronic.de/display/PD/Project+Delivery

The release date was still from February 21, my command TE::sw_run_hsi wasn't generating any files actually. I was still using the pre-built ones.
But making this change and generating the files again didn't bring any modification wit the QSPI boot.

for your question, I am not building the files manually i use your tcl command. But from what you said in the Project delivery page there is problem with Linux host?
Maybe this is the problem, i am building the project on a vm Ubuntu 16.04
best regards
Sarah

JH

Hi,
sorry poorly formulated from my side:
QuoteDid you built it manuelly by yourself?
I mean original files.

Please use original prebuilt from the download (download or unzip the project again to be sure that you use the original files).

br
John

SaW

Hi,
So i tested again with the original files:
On Ubuntu 16.04 (VM) vivado 2018.3
- download and unzip the folder
- chmod 777 _create_linux_setup.sh
- ./_create_linux_setup.sh --- there i choosed the option 0 Module selection guide and followed what was asked
when vivado open i directly went to the hardware manager and in the tcl console entered the command :
TE::pr_program_flash_binfile -swapp u-boot

in my terminal open on the usb1 (device) i received the log :
--------------------------------------------------------------------------------
Xilinx Zynq MP First Stage Boot Loader to write QSPI Flash (TE modified)
Release 2018.3   Feb 21 2019  -  09:58:55
PMU-FW is not running, certain applications may not be supported.

and in the tcl console: Start Flash Programming with BIN File
Used file:/home/petalinux/TE0820-test_board-vivado_2018.3-build_03_20190401130123/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin
INFO: [TE_PR-41] Start program flash:
  Run "exec program_flash -f BOOT.bin -fsbl /home/petalinux/TE0820-test_board-vivado_2018.3-build_03_20190401130123/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel" in /home/petalinux/TE0820-test_board-vivado_2018.3-build_03_20190401130123/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot
  Please Wait..
  ------
INFO: [TE_EXT-5] Command results from program flash "exec program_flash -f BOOT.bin -fsbl /home/petalinux/TE0820-test_board-vivado_2018.3-build_03_20190401130123/test_board/prebuilt/software/3eg_1e_2gb/zynqmp_fsbl_flash.elf -flash_type qspi-x8-dual_parallel":
 
****** Xilinx Program Flash
****** Program Flash v2018.3 (64-bit)
  **** SW Build 2405991 on Thu Dec  6 23:36:41 MST 2018
    ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved.


WARNING: Failed to connect to hw_server at TCP:localhost:3121
Attempting to launch hw_server at TCP:localhost:3121

Connected to hw_server @ TCP:localhost:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-25163300273AA
Device 0: jsn-JTAG-ONB4-25163300273AA-14710093-0

Retrieving Flash info...

Initialization done, programming the memory
===== mrd->addr=0xFF5E0204, data=0x00000222 =====
BOOT_MODE REG = 0x0222
WARNING: [Xicom 50-100] The current boot mode is QSPI32.
If flash programming fails, configure device for JTAG boot mode and try again.
Downloading FSBL...
Running FSBL...
Finished running FSBL.


U-Boot 2018.01-00073-g63efa8c-dirty (Oct 04 2018 - 08:27:12 -0600)

Model: ZynqMP MINI QSPI
Board: Xilinx ZynqMP
DRAM:  256 KiB
EL Level: EL3
Using default environment

In:    dcc
Out:   dcc
Err:   dcc
ZynqMP> sf probe 0 0 0

SF: Detected n25q512a with page size 512 Bytes, erase size 128 KiB, total 128 MiB
ZynqMP> Sector size = 131072.
f probe 0 0 0

Performing Erase Operation...
sf erase 0 300000

SF: 3145728 bytes @ 0x0 Erased: OK
ZynqMP> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 7 sec.
Performing Program Operation...
0%...sf write FFFC0000 0 20000

device 0 offset 0x0, size 0x20000
SF: 131072 bytes @ 0x0 Written: OK
ZynqMP> sf write FFFC0000 20000 20000

device 0 offset 0x20000, size 0x20000
SF: 131072 bytes @ 0x20000 Written: OK
ZynqMP> sf write FFFC0000 40000 20000

device 0 offset 0x40000, size 0x20000
SF: 131072 bytes @ 0x40000 Written: OK
ZynqMP> sf write FFFC0000 60000 20000

device 0 offset 0x60000, size 0x20000
SF: 131072 bytes @ 0x60000 Written: OK
ZynqMP> sf write FFFC0000 80000 20000

device 0 offset 0x80000, size 0x20000
SF: 131072 bytes @ 0x80000 Written: OK
ZynqMP> sf write FFFC0000 A0000 20000

device 0 offset 0xa0000, size 0x20000
SF: 131072 bytes @ 0xa0000 Written: OK
ZynqMP> sf write FFFC0000 C0000 20000

device 0 offset 0xc0000, size 0x20000
SF: 131072 bytes @ 0xc0000 Written: OK
ZynqMP> 30%...sf write FFFC0000 E0000 20000

device 0 offset 0xe0000, size 0x20000
SF: 131072 bytes @ 0xe0000 Written: OK
ZynqMP> sf write FFFC0000 100000 20000

device 0 offset 0x100000, size 0x20000
SF: 131072 bytes @ 0x100000 Written: OK
ZynqMP> sf write FFFC0000 120000 20000

device 0 offset 0x120000, size 0x20000
SF: 131072 bytes @ 0x120000 Written: OK
ZynqMP> sf write FFFC0000 140000 20000

device 0 offset 0x140000, size 0x20000
SF: 131072 bytes @ 0x140000 Written: OK
ZynqMP> sf write FFFC0000 160000 20000

device 0 offset 0x160000, size 0x20000
SF: 131072 bytes @ 0x160000 Written: OK
ZynqMP> sf write FFFC0000 180000 20000

device 0 offset 0x180000, size 0x20000
SF: 131072 bytes @ 0x180000 Written: OK
ZynqMP> sf write FFFC0000 1A0000 20000

device 0 offset 0x1a0000, size 0x20000
SF: 131072 bytes @ 0x1a0000 Written: OK
ZynqMP> 60%...sf write FFFC0000 1C0000 20000

device 0 offset 0x1c0000, size 0x20000
SF: 131072 bytes @ 0x1c0000 Written: OK
ZynqMP> sf write FFFC0000 1E0000 20000

device 0 offset 0x1e0000, size 0x20000
SF: 131072 bytes @ 0x1e0000 Written: OK
ZynqMP> sf write FFFC0000 200000 20000

device 0 offset 0x200000, size 0x20000
SF: 131072 bytes @ 0x200000 Written: OK
ZynqMP> sf write FFFC0000 220000 20000

device 0 offset 0x220000, size 0x20000
SF: 131072 bytes @ 0x220000 Written: OK
ZynqMP> sf write FFFC0000 240000 20000

device 0 offset 0x240000, size 0x20000
SF: 131072 bytes @ 0x240000 Written: OK
ZynqMP> sf write FFFC0000 260000 20000

device 0 offset 0x260000, size 0x20000
SF: 131072 bytes @ 0x260000 Written: OK
ZynqMP> sf write FFFC0000 280000 20000

device 0 offset 0x280000, size 0x20000
SF: 131072 bytes @ 0x280000 Written: OK
ZynqMP> sf write FFFC0000 2A0000 20000

device 0 offset 0x2a0000, size 0x20000
SF: 131072 bytes @ 0x2a0000 Written: OK
ZynqMP> sf write FFFC0000 2C0000 20000

device 0 offset 0x2c0000, size 0x20000
SF: 131072 bytes @ 0x2c0000 Written: OK
ZynqMP> 100%
sf write FFFC0000 2E0000 3608

device 0 offset 0x2e0000, size 0x3608
SF: 13832 bytes @ 0x2e0000 Written: OK
ZynqMP> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 38 sec.

Flash Operation Successful
  ------
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:localhost:3121
INFO: [Labtoolstcl 44-466] Opening hw_target localhost:3121/xilinx_tcf/Digilent/25163300273AA
open_hw_target: Time (s): cpu = 00:00:10 ; elapsed = 00:00:13 . Memory (MB): peak = 7572.730 ; gain = 669.031 ; free physical = 3141 ; free virtual = 9397
INFO: [Labtoolstcl 44-664] Will wait up to 180 seconds for booting to complete.
WARNING: [Xicom 50-184] Defaulting to hardware boot mode: QSPI32.
INFO: [Labtools 27-2278] Zynq reset successful
INFO: [TE_PR-1] Reboot Device is done (Note successfully software reboot depends also on devices design).
INFO: [Labtools 27-1435] Device xczu3 (JTAG device index = 0) is not programmed (DONE status = 0).
INFO: [TE_PR-2] Refresh Device is done.
INFO: [TE_PR-56] Programming elapsed time: 85 seconds
Flash Programming with BIN File finished
/home/petalinux/TE0820-test_board-vivado_2018.3-build_03_20190401130123/test_board/prebuilt/boot_images/3eg_1e_2gb/u-boot/Boot.bin


no change in the terminal, i use then the SD card with the image.ub file from pre-built os/petalinux/2G folder, but nothing happened

I switch to vivado on Windows(10):
-download and unzip the folder
-_create_win_setup.cmd ---choose the option 1 this time
-start vivado project with vivado_create_project_guimode.cmd (after changing the path inside the design setting file)
this time if i connect the device i obtain, like on your image in the guide, under the module 2 devices: the syscom and the hw_vio
i unconnect and use the tcl command. the tcl log is the same than the one i posted upper.

this time i observed 2 things:
(using putty)
- if i press S2 directly i see the boot precises QSPI
--------------------------------------------------------------------------------
TE0820 TE_XFsbl_HookPsuInit_Custom
Configure SI5338
Si5338 Init Registers Write.
Si5338 Init Complete

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Xilinx Zynq MP First Stage Boot Loader (TE modified)
Release 2018.3   Feb 21 2019  -  09:57:44
Device Name: XCZU3EG

--------------------------------------------------------------------------------
TE0820 TE_XFsbl_BoardInit_Custom
Reset ETH is done.
Reset OTG is done.

--------------------------------------------------------------------------------
NOTICE:  ATF running on XCZU3EG/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: Secure code at 0x0
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v1.5(release):xilinx-v2018.2-919-g08560c36
NOTICE:  BL31: Built : 15:47:51, Feb 18 2019
PMUFW:  v1.1


U-Boot 2018.01 (Feb 18 2019 - 15:46:47 +0000) Xilinx ZynqMP ZCU102 rev1.0

I2C:   ready
DRAM:  2 GiB
EL Level:       EL2
Chip ID:        zu3eg
MMC:   Card did not respond to voltage select!
mmc_init: -95, time 26
mmc@ff170000 - probe failed: -95
mmc@ff160000: 0 (eMMC)Card did not respond to voltage select!
mmc_init: -95, time 27

Using default environment

In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Board: Xilinx ZynqMP
Bootmode: QSPI_MODE
Net:   ZYNQ GEM: ff0e0000, phyaddr ffffffff, interface rgmii-id

Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
U-BOOT for petalinux

ethernet@ff0e0000 Waiting for PHY auto negotiation to complete......................................... TIMEOUT !
Hit any key to stop autoboot:  0
Card did not respond to voltage select!
mmc_init: -95, time 27
** Bad device mmc 1 **
Device: mmc@ff160000
Manufacturer ID: 13
OEM: 14e
Name: Q2J54
Tran Speed: 200000000
Rd Block Len: 512
MMC version 5.0
High Capacity: Yes
Capacity: 3.6 GiB
Bus Width: 4-bit
Erase Group Size: 512 KiB
HC WP Group Size: 8 MiB
User Capacity: 3.6 GiB WRREL
Boot Capacity: 16 MiB ENH
RPMB Capacity: 512 KiB ENH
Card did not respond to voltage select!
mmc_init: -95, time 27
** Bad device mmc 1 **
ZynqMP>

there i put the SDcard and write boot just after 1-2sec I loose the connection with uart + LED3 gets ON on my module

-tried by putting the SDcard before pressing on S2.. then nothing happens
-adding the SDcard before reaching the "ZynqMP>" concluded into loosing the connection again
-changing the JTAGEN to OFF doesn't change anything either

Before you said that inserting the SD card was changing the boot mode into sd directly.. i wonder if this not the problem here and generate a conflict with the module... but at least it seems that using vivado on windows works better than on the vm linux.

best regards
Sarah

JH

Hi,
so it boots to uboot now.
On win you can connect uart but not on linux? Did you select the correct TTY Port on Linux?

When you start linux booting manually on uboot with boot command and it crash, was a part of the linux boot process visible?

Did you mean LED D1 or LED D3?
https://wiki.trenz-electronic.de/display/PD/TE0820+TRM#TE0820TRM-On-boardLEDs

Which external power supply unit did you use for your TE0701? Some current limit?
br
John

SaW

Hi John,
If i put the SD card before the u-boot is done it is the LED3 that get ON, the LED1 is ON as soon as the flash part is done on vivado. but i think the LED3 gets ON because i use the sd card before pressing S2, creating a conflict. Tried several time first S2, and after adding the sd card and the LED3 stayed OFF.
starting Linux manually on u-boot here is the log i get, it never really stop at the same time once at udev, the other at the usbcore another time after the initialization of the zynqmp-pinctrl :


INIT: version 2.88 booting
Starting udev
[    3.254207] udevd[1714]: starting version 3.2.2
[    3.263282] udevd[1715]: starting eudev-3.2.2


[    2.196707] loop: module loaded
[    2.197432] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.212093] m25p80 spi0.0: n25q512a (131072 Kbytes)
[    2.216162] 3 ofpart partitions found on MTD device spi0.0
[    2.221593] Creating 3 MTD partitions on "spi0.0":
[    2.226353] 0x000000000000-0x000000100000 : "boot"
[    2.231539] 0x000000100000-0x000000140000 : "bootenv"
[    2.236570] 0x000000140000-0x000001740000 : "kernel"
[    2.242283] libphy: Fixed MDIO Bus: probed
[    2.246095] tun: Universal TUN/TAP device driver, 1.6
[    2.250260] CAN device driver interface
[    2.254503] macb ff0e0000.ethernet: Not enabling partial store and forward
[    2.261206] libphy: MACB_mii_bus: probed
[    2.264674] [Firmware Warn]: /amba/ethernet@ff0e0000/ethernet-phy@0: Whitelisted compatible string. Please remove
[    2.344821] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 30 (54:10:ec:6c:e7:a4)
[    2.348996] Marvell 88E1510 ff0e0000.ethernet-ffffffff:01: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:01, irq=POLL)
[    2.363336] usbcore: registered new interface driver asix
[    2.368240] usbcore: registered new interface driver ax88179_178a
[    2.374273] usbcore: registered new interface driver cdc_ether
[    2.380066] usbcore: registered n▒
 

i try to do it automatically it gets stuck at the uncompression of the kernel image

For power supply i use a power supply of approximately 12volt (more like 11,99volts and a current of 181mA).. but didn't put a current limit
i check on the board the LED22 (carrier) is ON so my module is well powered with 3.3volt, the LD2/5/6 are ON, the LED4 is blinking as long as i received data on my terminal until the UART disconnect
best regards
Sarah

JH

Hi,
Quote"use the sd card before pressing S2, creating a conflict.
If you reset the module with SD insert, boot mode is SD. And if no Boot.bin is on SD, it will failed-.


On boot process it needs more current for a short time. You didn't see it if it's only for a short time not enough. Power goes off and on again and with your SD included it stops because there is no Boot.bin on SD.

What's happens when you put the same boot.bin and image.ub on SD and you boot from SD?
br
John

SaW

Yes i saw it now went to 400mA for few seconds and then shut-down and back again to 200mA, think this is what happened at each boot (QSPI), and is why why I am loosing the connection on putty. the problem is that once it happened i can't do anything else.
On therminal nothing is printed anymore (even when restart the connection)
pressing S2 is not changing anything (the LED4 doesn't blink anymore)
taking the SD card out, pressing S2, UART stay silent doesn't even go back to the u-boot

Boot from SD works but also the current stay around 370mA even when the boot is done. Only thing i observed if i have my ethernet connection present at the boot (SD), it won't work. Like for the boot with QSPI, the board will require 400-370ms for few seconds then shut-down and and after won't boot.


JH

What's the max. current of your external power supply unit? You are sure there is no current limit set?
br
John

SaW

There was a current limit --'
It can go until 5A, but was a current limit at 400mA... it is working perfectly now, can also add the ethernet connection.

Thank you a lot for your help! and sorry for the bother ^^'
best regards

Sarah

JH

Hi,
no problem and good to hear that it works now.

br
John