We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor noitulos
Registered: ‎07-22-2016

bootloader, memory access and JTAG communication


I recently started at a new company, and my first task is to program a ZYNQ as well as the connected LPDDR2 Memory. The actual data to be put into the external memory as well as for the programming of the ZYNQ will be delivered by the customer. My boss told me that I could write a bootloader that will be send over JTAG into the ZYNQ, then load chunks into the internal memory of it that will be transferred into the external memory by the bootloader. Once the 4GB are full and checked, I overwrite my bootloader with the one from our customer. The only problem is, that I have to use our own JTAG equipment for automated programming, and the last time I did something with Xilinx products was over 10 years ago with a picoblaze and one of these Spartan board during my studies.


At the moment I am checking the documentation, the wiki and the Forums.


I have the following documents:
Ug585 Technical reference Manual
Ug821 Software developers guide
Ug1165 ZYNQ embedded design tutorial

-> Does anyone know additional manuals that could be helpful?

-> In this forum entry

Achutha provided a link to a link to a video where a bootloader is created, but the git server for the download of the date refuses the connection. Is there another way to get this data, or how do I get the permission to connect to the server?


-> Regarding the IDE to write the bootloader, will the free Vivado HL WebPACK Edition be enough to write it, or can you recommend another Software?

Tags (2)
0 Kudos
1 Reply
Visitor noitulos
Registered: ‎07-22-2016

Re: bootloader, memory access and JTAG communication



It took some time, but it is working now.


Usefull documents are:

ARM® Architecture Reference Manual

ARM® Debug Interface Architecture Specification ADIv5.0 to ADIv5.2

ARM11 MPCore™ Processor (Chapter 13)

You have to register at ARM to get them.


Regarding the development environment, I used Vivando, there I made a boardlayout with only QSPI connected, and then started it in the SDK with a Digilent HS3 cable for debuging.


I had some problems while starting the chip, as the PLL setup from the init.tcl did not work with our JTAG loader, but after I configured the ARM PLL as last one it worked.



0 Kudos