cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
8,077 Views
Registered: ‎01-18-2012

Spartan-6 SP605 Multiboot BPI problem

Hello,

 

I am designing Multiboot function on  the BPI flash of SP605 board.

 

But after image download, it goes to Golden image directly, not to Multiboot image.

Can anyone please check my scripts?

The images are fine. I have checked it indivisually using IMPACT and they are working well.

 

 

# run_all_build_script.bat

======================================

promgen -w -p mcs -data_width 16 -r boot_header.hex -o boot_header.mcs

promgen -w -p mcs -c FF -s 32768 -bpi_dc parallel -data_width 16 -u 8000 golden_sp605.bit -u 200000 multiboot_sp605.bit -o incomplete_dual_image_SP605.mcs

type boot_header.mcs incomplete_dual_image_SP605.mcs > header_golden_multiboot.mcs

del incomplete_dual_image_SP605.*

 

 

 

# boot_header.hex

======================================

 

FFFFFFFF
AA995566
31E1FFFF
32610000
32810340
32A10000
32C10301
32E10000
30A10000
33012100
3201001F
30A1000E
20002000
20002000

0 Kudos
6 Replies
Highlighted
Teacher
Teacher
8,060 Views
Registered: ‎11-14-2011

Re: Spartan-6 SP605 Multiboot BPI problem

Are you sure that it is going straight to Golden and not just failing the Multiboot image and falling back?

 

I don't know if it makes a great difference but  -bpi_dc parallel

 

Is the BPI flash connected in a parallel daisy chain on the SP605? The schematics suggest otherwise but I don't have that board, so I can't be sure. Do you need the -bpi_dc switch for your PROMGEN command?

 

Also, your header:

 

3261 - GENERAL1 - 0x0000. Lower 16 bits of Multiboot.

3281 - GENERAL2 - 0x0340. SPI read command, Upper 8 bits of Multiboot.

 

Firstly, do you need the SPI read command here if your are targeting a BPI flash?

Secondly, your Multiboot address in the header is 0x400000 but the promgen command sets it 0x200000.

 

I know that the address is doubled for a 16 bit BPI interface but I don't think you need to do this in the header. Try setting the promgen command to -u 400000 multiboot_sp605.bit to match your header.

 

Similarly for GENERAL 3 and 4 - check the addressing. 

 

Let me know if this helps because I'm generally trying to do the same thing for a custom board!

 

Regards,

 

Howard

 

----------
"That which we must learn to do, we learn by doing." - Aristotle
0 Kudos
Highlighted
Teacher
Teacher
8,057 Views
Registered: ‎11-14-2011

Re: Spartan-6 SP605 Multiboot BPI problem

One more thing - you'll need to make sure that the header.hex data gets bit swapped, i.e. the sync words AA99 5566 will need to become 9955 66AA so that the BPI configuration can read them correctly (and so on for the rest of the file). This is not done automatically by the promgen -r command.

 

I hope that that sentence is understandable :smileyhappy:

 

Regards,

 

Howard

 

----------
"That which we must learn to do, we learn by doing." - Aristotle
0 Kudos
Highlighted
Contributor
Contributor
8,046 Views
Registered: ‎01-18-2012

Re: Spartan-6 SP605 Multiboot BPI problem

Hi Howard,

 

Thank you for your response and thanks for your very detail explanation.

I am sure that it is going to Golden image.

I found that actually it is going to Lowest address image(not only golden image).

The header file address was totally wrong and also needs bit swap as you mentioned.

I could not find any description except this forum and I spent 1 week to find this.

I think it will be same to all people to someone who wants to implement BPI flash multiboot on SP605.

Why no detail documents or examples from Xilinx?

 

I finally found http://forums.xilinx.com/t5/Spartan-Family-FPGAs/Spartan-6-multiboot-configuration-header/m-p/199937 this discussion and it was the solution. But that was to hard to find it by myself especially as a beginner of Multiboot design.

 

Thanks again Howard.

 

Regards,

Matthew

Highlighted
Teacher
Teacher
8,038 Views
Registered: ‎11-14-2011

Re: Spartan-6 SP605 Multiboot BPI problem

Good stuff.

 

I'm sure that's going top help me out, too. It is heartening to know that others know and can find out what's going on!

 

Good luck :smileyhappy:

 

Regards,

 

Howard

 

----------
"That which we must learn to do, we learn by doing." - Aristotle
0 Kudos
Highlighted
Contributor
Contributor
8,024 Views
Registered: ‎01-18-2012

Re: Spartan-6 SP605 Multiboot BPI problem

Thanks. Howards

 

Most of the information was in "Configuration guide".

http://www.xilinx.com/support/documentation/user_guides/ug380.pdf

That was my fault.

 

Regards,

Matthew

0 Kudos
Highlighted
Teacher
Teacher
8,018 Views
Registered: ‎11-14-2011

Re: Spartan-6 SP605 Multiboot BPI problem

I've lost count of the number fo times I have read that document and not really understood it :smileyhappy:

 

The understanding of what information is in the config stream is no problem, however, I have (previously) been unable to place the golden and multiboot streams exactly where I want in external memory (preferably sector aligned in Flash). Weirdly, though, I have had multiboot from HWICAP working previously. Hmm.

 

With our discussion and the thread that you pointed out, I have been successful, so now I am happy. Possibly more importantly, so is my project manager :smileyhappy:

 

Thanks again.

 

Regards,

 

Howard

 

----------
"That which we must learn to do, we learn by doing." - Aristotle
0 Kudos