Googleにこの問題に関する多くの投稿がありますが、すべての回避策を試しましたが、解決されていないのでここに投稿します。
私はAT91BootStarp 3.5.9とLinuxカーネル3.6.9を使用しています。私の問題は、Linuxが2番目のメモリバンク(EBI_CS1の128MBが0x20000000にマップされている)を使用していないことです。
メモリマップは次のとおりです。
ATMEL評価(ユーザー)ボードに基づいています。
起動すると、「70000000-77ffffffでRAMを無視する(vmalloc領域のオーバーラップ)」というメッセージが表示されます。
SparseMemを有効にして、次の場所に公開されているパッチを試してみました。 http://blog.linuxconsulting.ro/2010/05/...-with.html
AT91BootstrapでDDR2の初期化を確認して検証しましたが、Bootstrapには何の問題もありません。 2つのメモリースティックをテストしたところ、問題は見つかりませんでした。
uBoot起動パラメータを次のように追加しました。
mem= mem=128M@0x20000000 mem=128M@0x70000000 console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootdelay=2 rootwait=1
起動すると、次の警告が表示され、ボードは256 MBではなく128 MBで構成されます。
70000000-77ffffff(vmalloc領域が重複)でRAMを無視します。
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9M10G45-EK
Ignoring RAM at 70000000-77ffffff (vmalloc region overlap).
Memory policy: ECC disabled, Data cache writeback
AT91: Detected soc type: at91sam9g45
AT91: Detected soc subtype: Unknown
AT91: sram at 0x300000 of 0x10000 mapped at 0xfef68000
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: mem=128M@0x20000000 mem=128M@0x70000000 console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootdelay=2 rootwait=1
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 124424k/124424k available, 6648k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.text : 0xc0008000 - 0xc04d5f18 (4920 kB)
.init : 0xc04d6000 - 0xc050022c ( 169 kB)
.data : 0xc0502000 - 0xc05345a0 ( 202 kB)
.bss : 0xc05345c4 - 0xc055711c ( 139 kB)
NR_IRQS:16 nr_irqs:16 16
AT91: 160 gpio irqs in 5 banks
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30