cancel
Showing results for 
Search instead for 
Did you mean: 

bootload from bank 1

roger8
Associate II
Posted on February 05, 2009 at 13:48

bootload from bank 1

2 REPLIES 2
roger8
Associate II
Posted on May 17, 2011 at 09:57

This is most annoying.

All I want to do is boot from bank 1 (32K bank), located at 0x000.

Then IAP the main app to bank 0 (512K) located 0x80000 (or anywhere really).

For the life of me I cannot get the STR912 to erase/program the larger flash bank.

This concept of boot bank and non book bank is also confusing - where do they physically live in the memory map? Does changing the start address actually move the flash address?

There is also an issue, should I get it working where exceptions would go to the bootloader (located in 0x000) - ok so this may not be such an issue - I could handle them there and jump back to main app. But would be nice if the main app handles the exceptions.

Why have ST decided to have a large default boot bank relative to the other one, surely the boot bank is going to run a much smaller exe that the main app.

I have tried all the examples and been playing with the code for the last week or so without any success, well I can write to the smaller 32K flash ok - but this is not what I want.

alexanderpapsdorf9
Associate II
Posted on May 17, 2011 at 09:57

You can change the boot bank. On default, bank 0 is the boot bank. But you can set bank 1 as boot bank by changing the CSX (Chip Select Mapping). See for example

http://www.keil.com/support/docs/3347.htm

. If you register there you can get a nice example project. You can only change the bit if you use a jtag flasher/Debugger which supports the ICP programming mode (e.g. ulink2 from Keil).

I am using bank 1 as boot bank (here I have located the bootloader) and than I jump to bank 0 for the normal application.

Alex