UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
804 Views
Registered: ‎09-19-2018

Download Microblaze application from ARM Linux user space

Hi All,

 

We are uses Zynq-7000 series (xc7z020clg484-3) and the below toolchains are used to build our product.

 

Vivado  - 2016.4

SDK       - Petalinux 2016.4

 

It is a dual processor design where the Linux is running in ARM and software(ELF file) from our vendor is running in Microblaze. We have a requirement where the ARM Linux has to send a reset signal to Microblaze, download the Microblaze software(ELF file) and removes the reset signal. We have done the hardware design and we are able to reset the Microblaze from the Linux userspace but we are not able to download the Microblaze software from Linux userspace. Could you please provide us support on how to download the Microblaze software(ELF file) from the Linux user space?

 

Constraints:

  1. Linux is restricted to address 0x00000000 to 0x1bc00000 of total 512MB RAM. The Microblaze software is to be loaded at address 0x1d000000
  2. Microblaze software has BRAM contents to be initialized. Now we are adding these contents to the FPGA bitstream (using data2mem command to copy BRAM data into bit file) and downloaded during the bootup. We are not sure how to handle the BRAM initialization part.

 

Regards

Sharavanan

0 Kudos
9 Replies
Moderator
Moderator
773 Views
Registered: ‎09-12-2007

Re: Download Microblaze application from ARM Linux user space

How is your ARM connected to the Microblaze? does this have access to the Microblaze BRAM.

 

0 Kudos
761 Views
Registered: ‎09-19-2018

Re: Download Microblaze application from ARM Linux user space

Data and instruction cache of the Microblaze is connected to ARM's S_AXI_HP0 port via AXI interconnect. Yes, this connection have the access to the Microblaze BRAM.

0 Kudos
Highlighted
Observer seemasimon
Observer
711 Views
Registered: ‎08-23-2017

Re: Download Microblaze application from ARM Linux user space

0 Kudos
Moderator
Moderator
665 Views
Registered: ‎12-04-2016

Re: Download Microblaze application from ARM Linux user space

Hi @sharavanan.ar

 

Are you packaging the microblaze ELF as part of the boot process? Would like to check on how you are triggering reset from linux?

 

Can you please share with us the software changes being done at your end, as it is not very clear on your constraints part?

 

 

Best Regards

Shabbir

0 Kudos
657 Views
Registered: ‎09-19-2018

Re: Download Microblaze application from ARM Linux user space

Hi Shabbrik,

 

Thank you for your reply.

 

Are you packaging the microblaze ELF as part of the boot process?

Ans:Yes, we are packaging the Microblaze ELF as part of the boot process. It is part of BOOT.bin.

 

Would like to check on how you are triggering reset from linux?

Ans:We are using a separate GPIO connected  to reset the microblaze IP core

 

Can you please share with us the software changes being done at your end, as it is not very clear on your constraints part?

Ans:Microblaze application load address is 0X1D000000. We have limited kernel execution memory to 460 MB, So it will affect microblaze execution.

 

Regards,

Keerthivasan

 

 

0 Kudos
Moderator
Moderator
655 Views
Registered: ‎12-04-2016

Re: Download Microblaze application from ARM Linux user space

Hi Keerthivasan

 

Thanks for the response.

You can create an AXI BRAM into the design. From Linux app you can map that address and write the content into bram

The software elf can be written directly into that address and do reset/deassert

I mean, you can create the bin of the software elf file and copy into SD card and open the file from the Linux app

or whatever you are doing using data2mem in bit stream, same address can be written from user space application

 

Best Regards

Shabbir

0 Kudos
646 Views
Registered: ‎09-19-2018

Re: Download Microblaze application from ARM Linux user space

Hi Seema,

We have referred the given document but we could not find any solution from the document. We need to load the ELF file from the Linux running on the ARM without resetting the other peripherals.


Regards,
Keerthivasan

0 Kudos
Xilinx Employee
Xilinx Employee
636 Views
Registered: ‎02-01-2008

Re: Download Microblaze application from ARM Linux user space

It is important to also stop the microblaze. During reset, the microblaze will try to load the reset vector. This can be disabled by setting the microblaze reset_mode input pins. They are discussed here: http://www.wiki.xilinx.com/Execute+Microblaze+Application+from+PS+DDR

 

In this thread, there is talk of brams and initializing brams but also there is talk about microblaze running from ps DDR via HP port. So if microblaze is running from PS DDR, you will also need to configure the microblaze reset vector to the address where you will be placing the elf in PS DDR. That is also described in the above wiki page.

 

So I don't see a need for bram on the microblaze.

 

And downloading the elf into DDR can be done using uboot command line, FSBL via BOOT.BIN, or in linux using mmap to copy elf from somewhere to a fixed DDR address location.

 

0 Kudos
Moderator
Moderator
511 Views
Registered: ‎12-04-2016

Re: Download Microblaze application from ARM Linux user space

Hi @sharavanan.ar

 

Can you please mark the solution thread as an accepted solution, if your issue have been resolved

 

 

Best Regards

Shabbir

0 Kudos