Dear all,
I am using TE0722 with Zynq-7010. I have a problem with it and I kindly request your assistance. Below are the details.
I have a reference hardware design from Trenz. I modify the hardware according to my needs and export the bitstream to SDK. Then I create an FSBL application project with TE-Modification, create a boot image and program the flash of TE0722. Since now, I have not needed to change or add my own code to the FSBL application project. But I now needed a design with AXI-GPIO's which requires to be driven by the processor. So, after I generated the bitstream and exported it to SDK, created the FSBL application project with TE-Modification as previous, but also I added couple of lines (about driving AXI GPIO interfaces) to the main function in main.c. I created the boot image and programmed the flash. However, although the flash operation was successful, after restart of the board I realized that the flash is not programmed since the red LED is illuminating instead of the bright white one. So I re-tried to program the flash but I continuously get the error below:
****** Xilinx Program Flash
****** Program Flash v2015.4 (64-bit)
**** SW Build 1412921 on Wed Nov 18 09:43:45 MST 2015
** Copyright 1986-2015 Xilinx, Inc. All Rights Reserved.
Connecting to hw_server @ TCP:127.0.0.1:3121
Connected to hw_server @ TCP:127.0.0.1:3121
Available targets and devices:
Target 0 : jsn-JTAG-ONB4-2516330023AEA
Device 0: jsn-JTAG-ONB4-2516330023AEA-4ba00477-0
JTAG chain configuration
--------------------------------------------------
Device ID Code IR Length Part Name
1 4ba00477 4 arm_dap
2 13722093 6 xc7z010
--------------------------------------------------
Enabling extended memory access checks for Zynq.
Writes to reserved memory are not permitted and reads return 0.
To disable this feature, run "debugconfig -memory_access_check disable".
--------------------------------------------------
CortexA9 Processor Configuration
-------------------------------------
Version.............................0x00000003
User ID.............................0x00000000
No of PC Breakpoints................6
No of Addr/Data Watchpoints.........4
WARNING: Could not stop the processor before reset
ERROR(1):
Could not stop the processor after reset
It seems I somehow put the board in a fault state which I do not know how to recover. Moreover, even I try to load the flash with previous working projects' bin files, I still get the same fault above. Apparently, the AXI GPIO additions to the main.c file caused a problem in the hardware of the board.
Can you please help me to recover the board and explain how and where should I add my own code to main.c or some other file of FSBL application with TE modification. I can provide additional files/screenshots if needed.
Best regards,
Baris
Hello,
you have chosen the wrong place for your code. At this point, not all system components and probably PL are initialized.
Please move your code to fsbl_hooks.c to the end of u32 FsblHookBeforeHandoff(void) function, it's a safe place to execute user code.
Best regards
Oleksandr Kiyenko
Hi Oleksandr,
Thank you for the reply, I will try. However, I have another problem before I can do that, which is the Could not stop the processor after reset error I got when I try to program the flash again (details in my previous post). How can I recover the board?
Best,
Baris
I found the recovery procedure in the link below. That worked.
https://wiki.trenz-electronic.de/display/PD/TE0722-Recovery
Thank you again for quick reply,
Baris