cancel
Showing results for 
Search instead for 
Did you mean: 

0x20000 as address for Non Boot Bank when BootBank=512KB ?

ricardo2399
Associate II
Posted on September 12, 2008 at 03:40

0x20000 as address for Non Boot Bank when BootBank=512KB ?

4 REPLIES 4
ricardo2399
Associate II
Posted on May 17, 2011 at 09:55

Hi

Does anyone know way the configuration of NonBootBank address on ST file 91x_init.s, is 0x20000 when this just is equal to 128KB ??? shouldnt it be 0x80000?

This is because i want to make BootBank with 32KB and NonBootBank with 512.

Thanks for any tip :o

ricardo2399
Associate II
Posted on May 17, 2011 at 09:55

Hi

My Banks are already well configurated.

What i understand, is that you have to divide your address by 4, and pass that result to NBBaddress register. Then when you want to write to the flash Bank1, you need to write to the correct address value.

I.E., your Bank0 have 32KB. Your Bank1 will start on 0x8000. Program NBBAddress with 0x2000, and write to 0x8000. Will all go fine 🙂

Thats my init.s in attachment.

WARNING: NEVER try to write for the flash bank where your code is running, or it wil corrupt all the bank!!! You just can write to a bank being in the other.

jilisegiar
Associate II
Posted on May 17, 2011 at 09:55

If you look the 91x_init.s you will see that 0x20000 is written and not 0x80000:

LDR R7, =FMI_BBADR_Val ; BOOT BANK Address

MOV R7, R7 ,LSR #0x2

ibtissem
Associate II
Posted on May 17, 2011 at 09:55

the non boot bank should be 0x80000 when the flash size is 512ko.

could you please send me your startup file and let me know from where do you get it.

Waiting for the info.

B. Regards,

Ibtissem