cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
12,342 Views
Registered: ‎05-11-2012

Updating BRAMs within an encrypted bitstream with a .elf file Vivado 2013.4

Jump to solution

I have an encrypted design that I am trying to update the BRAM contents of the .bit file with a .elf file.  I have found AR#22364 on the issue, but I am having some issues with the TCL command since I am new to Vivado and producing encrypted bitstreams.

 

I placed the .elf file in the root folder of my Vivado project and then attempted to run the below TCL command after I had opened the project:

set_property MEMDATA.ADDR_MAP_CELLS {system_i/microblaze_1} [get_files my_elf.elf]

 

I get the following Warning and Error messages in the TCL console and believe that I am not placing my .elf file in the proper location:

WARNING:  [Vivado 12-818] No files matched 'my_elf.elf'

ERROR:  [Common 17-55] 'set_property expects at least one object.

 

Where should the .elf file be placed?  Is there anything else with this process that I am doing wrong in order to update .bit file so that I can then re-run write_bitstream to produce my final encrypted bitstream?

 

Thanks in advance for the help!

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Explorer
Explorer
20,557 Views
Registered: ‎05-11-2012

I believe I solved my issue by first adding the .elf as a design source.  Once I had done this, I went to Tools > Associate ELF Files...  in order to select my .elf file as the desired file for the microblaze component.

 

I then ran the TCL script I initially was asking for help with, without using the full file path, and the TCL appeared to execute without any issues.   Then I re-ran only the Write_Bitstream process.

 

Once programmed to my SPI Flash, everything works properly!

View solution in original post

5 Replies
Highlighted
Community Manager
Community Manager
12,331 Views
Registered: ‎07-23-2012
Please specify the location of the elf file as in

set_property MEMDATA.ADDR_MAP_CELLS {system_i/microblaze_1} [get_files C:/Proj_Dir/impl_1/my_elf.elf]

Basically, if the elf file resides in C:/Proj_Dir/impl_1/ location (for example), you can provide the entire location.

This will resolve your issue.
-----------------------------------------------------------------------------------------------
Please mark the post as "Accept as solution" if the information provided answers your query/resolves your issue.

Give Kudos to a post which you think is helpful.
0 Kudos
Highlighted
Explorer
Explorer
12,329 Views
Registered: ‎05-11-2012

smarell,

 

Thank you for your reply, however that did not solve my issue.  I still received the same Warning and Error messages that I stated in my initial post.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
12,323 Views
Registered: ‎04-16-2012

Hi,

 

Try out these steps:

 

1. Open project

2. In Tcl console, run the command "pwd" without quotes

3. If you are not in the project directory, navigate to project directory where my_elf.elf was present using cd command

4. then run the command: set_property MEMDATA.ADDR_MAP_CELLS {system_i/microblaze_1} [get_files my_elf.elf]

 

Thanks

--------------------------------------------------------------------------------------------
Have you tried typing your question in Google? If not you should before posting. Also, MARK this is as an answer in case it helped resolve your query/issue.Give kudos to the post that helped you to find the solution.
0 Kudos
Highlighted
Explorer
Explorer
20,558 Views
Registered: ‎05-11-2012

I believe I solved my issue by first adding the .elf as a design source.  Once I had done this, I went to Tools > Associate ELF Files...  in order to select my .elf file as the desired file for the microblaze component.

 

I then ran the TCL script I initially was asking for help with, without using the full file path, and the TCL appeared to execute without any issues.   Then I re-ran only the Write_Bitstream process.

 

Once programmed to my SPI Flash, everything works properly!

View solution in original post

Highlighted
Visitor
Visitor
425 Views
Registered: ‎05-23-2019

Hi Sir, 

I am working on ARTIX7  FPGA, on which I am developing a data acquisition system with MicroBlaze. I am facing problem in generating encrypted .bit(mcs) file by merging .bit( generated in vivado) file and .elf( generated by SDK) file.

I have studied your post and tried implementing it but it didn’t work.

can you please help me in implementing it.

Thanks 

0 Kudos