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

QSPI boot in AMP configuration for TE0808

Started by peppeav82, March 28, 2023, 05:11:43 PM

Previous topic - Next topic

peppeav82

Hi
I have a TE0808 equipped with 512M bits of Micron flash (JEDEC 0x20 0xBB 0x20). Boot mode is configured as QSPI 32bit/dual parallel/4 bit bus.
I worked with a 3 cores AMP solution (baremetal on 2 cores + FreeRTOS on 1 core) and everything worked perfectly until I had to add the fourth core (baremetal) to the whole configuration.
As soon as I add the fourth core to the boot image, the FSBL seems to hang immediately before the "Exit from FSBL" message, with all previous message all clean and without errors (Partition x Load Success, correct DDR address where to copy). I also would like to say that the application runs perfectly from RAM loaded via debugger SDK and JTAG.
I had a suspect on the size of the whole QSPI boot image, which was exceeding 32MBytes but I managed to reduce the whole image size to a 28MBytes size but results are still the same. I also can't find a solution to create a second stage bootloader (like u-boot) and try to overcome the problem.
I have nothing which can help in the debug, as the FSBL_DETAILED_INFO seems to return a long sequence of successes, only thing is that sometimes the board stucks at
Running Cpu Handoff address: 0x0, Exec State: 0
Other times the hang happens just one step after at
Exit from FSBL
Again, another maybe helping thing is that, when the FSBL hangs in that way, the board cannot be programmed again until I run a simple, single-core application through the JTAG, otherwise the JTAG itself will always fail from the SDK.

I have tried to generate boot image by aligning every partition to the flash page size (256), tried to delay the startup of each image manually with long sleeps, avoided the xil_printfs in the first stages, tried to invert the partition ordering, tried to shrink, but it seems that nothing except 4 hello worlds can be loaded from the QSPI and boot.

Sorry if the message seems too long or imprecise, I am really in a dead end and I cannot find a viable explaination or solution to my problem. I also cannot find a suitable u.boot prebuilt image to do other kind of experimentation.

Any help is welcomed.
Thanks in advance
Giuseppe


JH

Hi,
sorry we can't help much on this topic. Maybe it's better you ask also on AMD(Xilinx) forum, because this is independent from trenz module and other forum has bigger community.

AMD has also documentation (also for newer Vivado versions like it looks) regarding this topic:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841718/OpenAMP

there are also information here:
https://docs.xilinx.com/r/2021.2-English/ug1137-zynq-ultrascale-mpsoc-swdev/OpenAMP


br
John