[U-Boot] Atmel AT91RM9200: U-Boot refuses to copy to a particular sector of flash memory
Ki Chi Leung
7words.sg at gmail.com
Mon Oct 20 11:16:40 CEST 2008
Hello list,
I am trying to load a Linux 2.6.22 kernel uimage on the flash memory
of a custom Atmel AT91RM9200 board. From U-Boot the flash memory map
is as follows:
U-Boot> flinfo
DataFlash:AT45DB161
Nb pages: 4096
Page Size: 528
Size= 2162688 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0007FFF (RO)
Area 1: C0008000 to C001FFFF (RO)
Area 2: C0020000 to C0027FFF
Area 3: C0028000 to C020FFFF
Bank # 1: Atmel: AT49BV163D (16Mbit)
Size: 2 MB in 39 Sectors
Sector Start Addresses:
10000000 (RO) 10002000 (RO) 10004000 (RO) 10006000 10008000
1000A000 1000C000 1000E000 (RO) 10010000 (RO) 10020000
10030000 10040000 10050000 10060000 10070000
10080000 10090000 100A0000 100B0000 100C0000
100D0000 100E0000 100F0000 10100000 10110000
10120000 10130000 10140000 10150000 10160000
10170000 10180000 10190000 101A0000 101B0000
101C0000 101D0000 101E0000 101F0000
I also have 2x 48LC8M16A2 modules (32MB, SDRAM, address 0x20000000 -
0x21ffffff) which I download the kernel to before copying to flash.
I have to copy the kernel into the flash starting at address
0x10020000 (lower addresses reserved by U-Boot apparently). However,
when I try to copy the 1018KB uimage, the copy always fails with
"flash not erased", even after the sectors have been unprotected and
erased. I found that if I copy anything into the sector starting at
0x10100000, U-Boot will fail to start from the flash. The sector in
question can be unprotected and erased without problems.
Is there any way to find out why U-Boot will not let me copy to this
sector, and why erasing and/or trying to copying to it would cause
U-Boot not to start anymore? Thanks in advance.
P.S. This is my first post here, apologies if I missed out any important info.
More information about the U-Boot
mailing list