News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

Program TE0725 with Microblaze

Started by MrBoard, November 19, 2020, 10:35:16 PM

Previous topic - Next topic

MrBoard

I'm inexperienced in Microblaze systems. So I wonder what the best and if possible automated way is to program the bit file from vivado and the elf executable from vitis permanently to the board. So I expect the board after a power up to run the Microblaze application immediately.

JH

Hi,
we have some reference designs which use microblaze and simple app, which boots from QSPI:
https://wiki.trenz-electronic.de/display/PD/TE0725+Reference+Designs
 
https://wiki.trenz-electronic.de/display/PD/TE0725+Test+Board
  --> includes and start app in block ram of the design

https://wiki.trenz-electronic.de/display/PD/TE0725+HyperRAM
  --> load app from flash into external memory and star app from external memory
br
John

MrBoard

Unfortunately this is not very helpful. I do not want to put per-fabricated code on my board.

There seems to be very little documentation. So maybe some questions.
There is the script "TE::pr_program_flash" which could maybe what I am looking for. BUT the application must be specified with the "-swapp" argument. Furhermore there is the "-swapp_av" argument to list all available application. So my question is how do I get my application that is developed in vitis to be found by the TCL scripts. Is there really no documentation on how to use these scripts? There must be a work flow to follow for a seamless development experience. As TE seems to have put quite some time into the fabrication of TCL scripts.

JH

Hi,
these scripts has nothing todo with your initial question.
They do only what you can do manually when you follow Xilinx documentation for programming, see reference:
https://wiki.trenz-electronic.de/display/PD/Xilinx+Development+Tools#XilinxDevelopmentTools-XilinxSoftwareProgrammingandDebugging

So use the scripts only to generate the project to have a example for TE0725 which use microblaze.
Description to generate project with these scripts: https://wiki.trenz-electronic.de/display/PD/TE0725+Test+Board#TE0725TestBoard-DesignFlow

General documentation for  about these scripts (but you must not use them, follow the first link to the userguide from Xilinx): https://wiki.trenz-electronic.de/display/PD/Project+Delivery+-+Xilinx+devices

br
John




MrBoard

I wonder what strategy you try to follow here with these answers? They seem to flame me. Why does a script that literally is named after what I am looking for has nothing to do with my question?!
If you generate a project as you suggested all the scripts are there so why are they not to use? I am looking for the correct settings and easiest way (hence automated) to program BIT-File (FPGA) and ELF (Microblaze) to the TE0725 board. Clearly Xilinx has no information about the TE0725 in specific therefore I am asking here. So please stop deflecting and flaming.

JH

Hi,
QuoteI wonder what strategy you try to follow here with these answers?
I was hoping that you would have a look at the links and the design, because I think that everything important is included (also additional links and reference to Xilinx documentation)
QuoteThey seem to flame me.
I'm sorry, that was not my intention, but I cannot give Xilinx basic tutorials here.

TE0725  test board reference design contains a microblaze design which includes a simple Hello TE0725  (like hello world but in endless loop) app. Hello world app is add to the vivado project, so that will directly saved in the blockram for the microblaze. In this case hello world will directly start when program bitfile only.
Xilinx has a lot of tutorial which shows how you can create a microblaze with application, Xilinx Flow is (independent from TE0725):
1 create Microblaze design, export XSA(on older SDK version it was called HDF) to Vitis
2 create platform project in vitis with the XSA file
3 create app for this platform file
4 write app into blockram of the bitstream (this can be done with Vitis or Vivado)

See for example: https://www.xilinx.com/support/documentation/quick_start/microblaze-quick-start-guide.pdf
--> this Xilinx  PDF is for 18.3 and older, but Vivado part is more or less the same and on vitis you must create a platform project from XSA before you can generate application, that's the main different between old SDK an Vitis



In case you want to program QSPI flash, you must create mcs file from the bitstream. TE0725 use QSPI flash in X4 mode, so you must set correct vivado contrains (which are shown in the constrain section of the test board design).
https://wiki.trenz-electronic.de/display/PD/TE0725+Test+Board#TE0725TestBoard-Basicmoduleconstrains

MCS File generation and flash programming itself can be done with Vivado, see User Guide reference from:
https://wiki.trenz-electronic.de/display/PD/Xilinx+Development+Tools#XilinxDevelopmentTools-XilinxSoftwareProgrammingandDebugging
Needed Flash names is listed for different assembly variants in the reference design download test_board\board_files\TE0725_board_files.csv
For all currently available TE0725 variants, it is s25fl256sxxxxxx0-spi-x1_x2_x4

br
John