Jack Gassett

Multi-Boot loader app for new Spartan 6 board.

Recommended Posts

I'm working on a ZPUino based app that will allow multiple arcade games (in bit file format) to be saved to SPI flash. The ZPUino based app will be the first bit file to load and will allow the joystick to be used to select the game to be loaded on the VGA monitor. In game resets will take us back to the boot selection screen.

I've started work based on this Xilinx reference design:

http://www.xilinx.com/support/documentation/boards_and_kits/xtp059.pdf

So far I have both bit files adapted and running on the new Spartan 6 Papilio boards. I've also merged both bit files into a single bin file that I think can be programmed to the Papilio using papilio_prog.

The next step is to add the ability to program SPI Flash for the Spartan 6 to the papilio_prog app. A quick look shows it should just be a matter of changing the spartan3 bscan primitive to a spartan 6 bscan primitive. Once that is working we should be able to test to see if the merged bin file works!

Jack.

Share this post


Link to post
Share on other sites

So, I just finished making the necessary changes to include the BSCAN_SPARTAN6 primitive. Everything works now and I have a good bscan_spi_lx9.bit file and I'm succesfully programming a bit file to the SPI flash on the new Spartan 6 boards. I just had to comment out the IEEE.STD_LOGIC_ARITH.ALL library and change a couple port names.

So now that we have working SPI programming the next step is figuring out how to program an MCS file using the papilio programmer...

I tried to be tricky and used promgen to generate a bin file which I then renamed to a bit file and tried to load but alas, that did not work. So the next task is figuring out how to get promgen generated files into the SPI Flash. Right now the papilio programmer only loads bit files to spi flash.

Jack.

Share this post


Link to post
Share on other sites

More progress!

I got the latest version of xc3sprog working last night and was able to add support for the Spartan6 LX9. xc3sprog supports writing mcs files but it does not support SST SPI Flash chips. I had a 4Mb Winbond chip sitting around so I just swapped out the chips.

But when I went to program a multiboot mcs file with two bit files it became obvious that I had overlooked an important detail! The LX9 bit files are bigger then I realized... Each bit file uses 2.7Mb, so a 4Mb Flash chip is just not big enough for multiple bit files.

So even though programming mcs files is worked out I'm stuck until I get some larger SPI Flash chips in. I put in an order for some 128Mb, 64Mb, and 32Mb chips. Once they arrive I'll post an update.

Jack.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now