cancel
Showing results for 
Search instead for 
Did you mean: 

I want to Program my code into 32K and write necessary data into 512k.

nanuradha
Associate II
Posted on March 12, 2008 at 02:51

I want to Program my code into 32K and write necessary data into 512k.

17 REPLIES 17
d_steffen
Associate II
Posted on May 17, 2011 at 09:41

I repeat,

you can't normaly not have any legal flash memory at address 0x9000

bank1 (32 Kbyte)

-> mapped to boot bank

-> address range 0x0000-0x7FFF

bank0 (512 Kbyte)

-> mapped to non boot bank

-> least address is legal 0x80000 (512 Kbyte address offset !!!!)

-> range 0x80000-0xFFFFF, i use 0x400000-0x407FFFF

with 0x9000 you and I, we don't know in which area you write, but is

not e legal area.

best regards

nanuradha
Associate II
Posted on May 17, 2011 at 09:41

Hi,

I understood about location.But you mentioned about clock also.Can u explain it again.

anu.

d_steffen
Associate II
Posted on May 17, 2011 at 09:41

1.) The FMI clock should be always active, this is done by hardware

automatic on power on reset.

If your program runs in RAM, only than you can switch of the FMI clock,

for reinit the FMI hardware.

2.) You can't write to flash with max, frequency 96 Mhz, the flash is limited, the Keil flash algorithmen use 25 Mhz.

Regards

B.

nanuradha
Associate II
Posted on May 17, 2011 at 09:41

Hi,

For main clock we are using 48MHz by use of PLL.For FMI clock we are using RCLK/2 i.e 24MHz only.Is it sufficient.With ox80000 location i am able to write half word data.But when i tried to read it is giving data abort exception.

anu

d_steffen
Associate II
Posted on May 17, 2011 at 09:41

o.k., attach your last project, i assume you use only 16 bit assigned

addresses and your address is in the range of 0x80000-0xFFFFE. And

you have to wait until the flash write is finished after timeout and the

write array read command is done.

nanuradha
Associate II
Posted on May 17, 2011 at 09:41

Please look at it.Tomorrow morning i'll check it bye.Thank you very much.

anu.

rajendrask
Associate II
Posted on May 17, 2011 at 09:41

Hi,

I also came across such situation. Please find my attacehd code with this mail.

Currently I am using Boot Bank as 512 KB (0x0 to 0x7FFFF)and non boot bank as 32KB(80000 to Next address).:----This I am able to do.

I want to load my boot code in Boot Bank as 32 kb in place of 512 KB(0x0 to 0x7FFF) and non boot code in bank1 as 512KB in place of 32 KB(0x8000 to Next address).

I am just looking for some help for boot code. Please let me know if you have any idea for this.

It will be great help if you give me your contact number. On phone I will describe issue in detail.

Or i was thinking another option is that

I will make my non-boot bank is from 0x0 to 0x7FFFF of 512 KB and boot bank is from ox80000 to XXXX of 32 KB. Please let me know what changes i need to do in the code...

Rajendra

d_steffen
Associate II
Posted on May 17, 2011 at 09:41

We spoke about the #define Remap_Bank_1.

I can't see it in your project.

main.c import 91x_lib.h this imports 91x_fmi.h this use

Remap_Bank_1 define.

main.c use FMI_B0S0, FMI_BANK_0, ... etc.

this all need Remap_Bank_1 !

Regards