09-28-2009 05:33 AM - edited 09-29-2009 04:29 AM
I would like to program the FPGA from a bit-file stored on the linear Flash. In the demo there is an example to copy 7 bit files from SysACE to linear flash, which works well. So I would like to do a similar things, but with my own bit file and not copiing my bit file on the compact flash (like explained in the reference design).
Writing to the linear flash works fine, and I took care that the content of the flash starts with: FF-FF-FF-FF-AA-99-55-66-20-00-00-00-30-00-80-01-00-00-00-07-20-00-00-00-20-00-0...
The bit file is actualy a microblaze design file. The bitstream is updated with the data to store in the BRAM ... I also tested it by writing it to the FPGA using JTAG and IMPACT in ISE ... and it did work.
So, at the moment I don't know what mistake I made. Or is it imposible to store and use a microblaze design in the linear flash? Or is there a different order in the way the cpld reads out different blocks of the linear flash, in comparisson to how it is written . I use the function: XFlashIntel_WriteAddr(StartAddress, 0, &memRam[streamPointer], totalData); which returns the correct amount of data written ( bit file is 840kB). I also compare the stored data with the original bistream (with the beginning stripped) and it is correct.
Editted on 29/09: I have also tried to put my design (bit file) on the Compact Flash card. I named my file system0.bit and copy it over the demonstration bit file (one of the seven). I runned the demo to copy the seven bit files on the linear flash .... put the selector on image 0 and pressed the PROG button ..... put that did not work. So now I am quit sure the problem is about the bit file. I guess the existing demos where also microblaze based ? The bit file has the same size as the demo bit files.
Any help, hints or ideas would be realy welcom
01-21-2010 04:58 AM
The problem was that the bitfile only defined the hardware , but not the software of the microblaze (instruction). I had actualy an implementation of an empty processor.
So I had to merge the bit file with the elf-file (cfr. instruction data / software) using "bitgen"
I used the the command : bitgen implementation/system.ncd –bd file_transfer/executable.elf –w