06-19-2012 09:23 AM
I'm using Spartan 6 slx100 device loaded from BPI 16 bit width flash chip :RC28F256P33TF
In order to achieve multiboot functionality I follow following guides from forum:
I perform header file, with desired address of Golden image : 0x20000 and Multiboot image : 0x500000
Header data looks like:
32810028 <== Multiboot image address 0x50000 divided by 2
32C10001 <== Golden image address 0x20000 divided by 2
33012000 <== MODE_REG
On this header I perform bitswap operation on each byte and program it to flash address 0x0
Also multiboot image and golden image programmed as well.
Desired action is that multiboot image would be loaded upon powerup.
It is actually happens. Multiboot image loaded as desired.
Now to the point.
I want to test fallback functionality of Spartan 6 with BPI flash.
I corrupt intentionally multiboot image and expect for golden image to load when I recycle power
This not happens, so no fallback is occurred.
If I change multiboot address to 0x20000 to test my golden image and change header file accordingly Spartan 6 successfully boots.
My question is how I create proper header file and if I need to perform some other magic on bitfiles in order to fallback and multiboot features work
Solved! Go to Solution.
07-22-2012 08:30 AM
I’ve resolved problem in fallback.
In order to perform fallback I should create bitfile in following way:
- Use “-g next_config_register_write:Disable” option
- Use “-g Reset_on_err:Yes” option.
So my header file info that I load to ICAP (registers GENERAL1 - 5) would not be erase with erroneous bitfile.