cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Anonymous
Not applicable
6,820 Views

Executing uBlaze code from flash

Hi all,

 

I have a microblaze design with an external 1 MB serial flash connected to MB CacheLink 

interface to function as an instruction cache.

I would like to execute a simple program directly from the flash, is this possible?

I convert the .elf to .bin which is then written to flash and then try to jump at the

base address of the flash to execute from there. With Chipscope I see MB reading

from the flash and the values are correct but it never works - it's a simple program, a printf() !

I read in a post thatI need a custom linker script when compiling that program?

 

Any help greatly appreciated,

0 Kudos
5 Replies
Highlighted
Xilinx Employee
Xilinx Employee
6,799 Views
Registered: ‎08-13-2007

Have you seen this:

http://www.xilinx.com/support/answers/23748.htm (9.2i EDK - How can I execute MicroBlaze code directly from flash?)

bt

0 Kudos
Highlighted
Anonymous
Not applicable
6,772 Views

Yes, that is the one I am following; is this solution valid for 9.2 EDK that i'm using?

Thanks

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
6,761 Views
Registered: ‎08-13-2007

As far as I know - I haven't personally used it yet though...

 

bt

0 Kudos
Highlighted
Voyager
Voyager
6,757 Views
Registered: ‎10-01-2007

I don't think the example is applicable for serial flash.  This answer assumes parallel Flash.  Notice the instruction to use the "Program Flash Memory" command from within XPS, which I believe is only for parallel Flash connected to an EMC peripheral.  I'm not aware of any examples that show how to execute from serial Flash.

 

If you want to try parallel Flash, an implementation was done on the Avnet Spartan-3A Evaluation Board.  Go to www.em.avnet.com/spartan3a-evl --> Support Files & Downloads --> MicroBlaze Parallel Flash Test and Execute in Place.

 

Bryan

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
6,729 Views
Registered: ‎08-13-2007

This app note may be more helpful:

http://www.xilinx.com/products/boards/s3a_sd1800a_ref_designs/xapp1053.pdf (Flash Memory Bootloading Using SPI with Spartan-3A DSP 1800A Starter Platform)

 


 

I think that is the best place to start, but I'll also mention some othe resources I had cached:

http://www.xilinx.com/support/documentation/application_notes/xapp1106.pdf (Using and Creating Flash Files for the MicroBlaze Development Kit - Spartan-3A DSP 1800A Starter Platform)
http://www.xilinx.com/support/documentation/application_notes/xapp978.pdf (FPGA Configuration from Flash PROMs on the Spartan-3E 1600E Board)
http://www.xilinx.com/support/documentation/application_notes/xapp963.pdf (Using and Creating Flash Files for the MicroBlaze Development Kit - Spartan-3E Edition)

 

bt

0 Kudos