cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Observer
Observer
337 Views
Registered: ‎08-11-2020

I got APB AP transactin and I can never program PS of zynq 7000

I have two boards, PYNQ-Z2 in addition to a custom board my company made, I use Vivado 2018.2

 

I worked on a complete project and tested it on PYNQ-Z2, I configured the PL and programmed the PS and it worked very well.

 

I have a new simple project of implementing a custom video streaming protocol, I made it and connected it using AXIS to Xilinx TPG, I made the HW and configured the PL and it worked, the problem is that when I went to SDK in order to program the PS and after I run my program I see this error:

 

 

Error while launching program:
Memory write error at 0x100000. APB AP transaction error, DAP status f0000021
Memory write error at 0x100000. APB AP transaction error, DAP status f0000021

 

 

I tried to reset the FPGA and power it off then power it on again but that didn't work.

after that I tried to program the PS with my old project and it got programmed !!!

I tried after that to delete the SDK project and export the hardware again then make new C project, but that didn't work, I even tried to program the PS with a C code that contains only 'Hello World', but the same error appeared.

 

Here is the whole SDK Log :

 

15:09:45 INFO	: Connected to target on host '127.0.0.1' and port '3121'.
15:09:45 INFO	: 'targets -set -filter {jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D" && level==0} -index 1' command is executed.
15:09:47 INFO	: FPGA configured successfully with bitstream "/home/ao20xa/Work/tests/project_2/project_2.sdk/design_1_wrapper_hw_platform_0/design_1_wrapper.bit"
15:10:01 INFO	: 'targets -set -filter {jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D" && level==0} -index 1' command is executed.
15:10:01 INFO	: 'fpga -state' command is executed.
15:10:01 INFO	: Connected to target on host '127.0.0.1' and port '3121'.
15:10:01 INFO	: Jtag cable 'Digilent JTAG-HS3 210299AD031D' is selected.
15:10:01 INFO	: 'jtag frequency' command is executed.
15:10:01 INFO	: Sourcing of '/home/ao20xa/Work/tests/project_2/project_2.sdk/design_1_wrapper_hw_platform_0/ps7_init.tcl' is done.
15:10:01 INFO	: Context for 'APU' is selected.
15:10:02 INFO	: Hardware design information is loaded from '/home/ao20xa/Work/tests/project_2/project_2.sdk/design_1_wrapper_hw_platform_0/system.hdf'.
15:10:02 INFO	: 'configparams force-mem-access 1' command is executed.
15:10:02 INFO	: Context for 'APU' is selected.
15:10:02 INFO	: 'stop' command is executed.
15:10:02 INFO	: 'ps7_init' command is executed.
15:10:02 INFO	: 'ps7_post_config' command is executed.
15:10:02 INFO	: Context for processor 'ps7_cortexa9_0' is selected.
15:10:02 INFO	: Processor reset is completed for 'ps7_cortexa9_0'.
15:10:02 INFO	: Context for processor 'ps7_cortexa9_0' is selected.
15:10:04 ERROR	: Memory write error at 0x100000. APB AP transaction error, DAP status f0000021
15:10:04 INFO	: ----------------XSDB Script----------------
connect -url tcp:127.0.0.1:3121
source /home/ao20xa/Work/tests/project_2/project_2.sdk/design_1_wrapper_hw_platform_0/ps7_init.tcl
targets -set -nocase -filter {name =~"APU*" && jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D"} -index 0
loadhw -hw /home/ao20xa/Work/tests/project_2/project_2.sdk/design_1_wrapper_hw_platform_0/system.hdf -mem-ranges [list {0x40000000 0xbfffffff}]
configparams force-mem-access 1
targets -set -nocase -filter {name =~"APU*" && jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D"} -index 0
stop
ps7_init
ps7_post_config
targets -set -nocase -filter {name =~ "ARM*#0" && jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D"} -index 0
rst -processor
targets -set -nocase -filter {name =~ "ARM*#0" && jtag_cable_name =~ "Digilent JTAG-HS3 210299AD031D"} -index 0
dow /home/ao20xa/Work/tests/project_2/project_2.sdk/zed_board_test/Debug/zed_board_test.elf
----------------End of Script----------------

 

 Any suggestions for solving this problem ?

0 Kudos
Reply
3 Replies
Observer
Observer
290 Views
Registered: ‎08-11-2020

Is there any more details any body need so it could help figuring out the problem?

0 Kudos
Reply
Observer
Observer
277 Views
Registered: ‎08-11-2020

I think I solved the problem

 

When I started using the custom board, I started choosing "Parts" instead of "Boards" in project creation, so configuration will not be changed, the part of the configuration that made the problem is "Memory configuration"

 

When I started doing Zynq 7000 memory configuration I think the problem solved.

0 Kudos
Reply
Xilinx Employee
Xilinx Employee
253 Views
Registered: ‎10-06-2016

Hi @Abady 

What you are saying takes sense, when Board option is selected in Vivado for project generation the PS side gets configured with the board related information, which include the DDR memory settings. When the part option is selected you have to define every aspect of the configuration manually including the DDR.

If you take a look to the error message in the debugger is pretty clear.

Error while launching program:
Memory write error at 0x100000. APB AP transaction error, DAP status f0000021

The debugger is having problems downloading the application to the memory address 0x100000 which belongs to DDR memory. The APB AP transaction means that the write operation did never succeed (DDR is not configured!) and the DAP get hung as there is no reply or error indicated by the transaction slave.

Regards


Ibai
Don’t forget to reply, kudo, and accept as solution.