在 AT91SAM9G45 上使用两个具有 SPARSE_MEM 的内存控制器

在 AT91SAM9G45 上使用两个具有 SPARSE_MEM 的内存控制器

谷歌上有很多关于这个问题的帖子,但我已经尝试了所有解决方案,但它们对我不起作用,所以我在这里发布......

我正在使用 AT91BootStarp 3.5.9 和 linux 内核 3.6.9。我的问题是 Linux 不使用第二个内存库(EBI_CS1 上的 128 MB 映射到 0x20000000)。

内存映射如下: 0x70000000 => 0xc0000000 (128 MB - DDRSDRC0) 0x20000000 => 0xc8000000 (128 MB - EBI_CS1)

根据 ATMEL 评估(用户)板。

启动时我看到这条消息:“忽略 70000000-77ffffff 处的 RAM(vmalloc 区域重叠)”。

我已经启用了 SparseMem 并尝试了发布在以下位置的补丁: http://blog.linuxconsulting.ro/2010/05/...-with.html

我已经在 AT91Bootstrap 中检查并验证了我的 DDR2 初始化,并且在 Bootstrap 中没有看到任何问题。测试了两个内存条,没有发现任何问题。

我已将 uBoot 启动参数添加为:

mem= mem=128M@0x20000000 mem=128M@0x70000000 console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootdelay=2 rootwait=1

当我启动时,我收到以下警告,并且主板配置为 128 MB,而不是 256 MB。

忽略 70000000-77ffffff 处的 RAM(vmalloc 区域重叠)。

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

相关内容