Skip to main content
Visitor II
February 5, 2009
Question

bootload from bank 1

  • February 5, 2009
  • 2 replies
  • 688 views
Posted on February 05, 2009 at 13:48

bootload from bank 1

    This topic has been closed for replies.

    2 replies

    roger8Author
    Visitor II
    May 17, 2011
    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.

    Visitor II
    May 17, 2011
    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