AT91SAM9G45에서 SPARSE_MEM과 함께 두 개의 메모리 컨트롤러 사용

AT91SAM9G45에서 SPARSE_MEM과 함께 두 개의 메모리 컨트롤러 사용

Google에 이 문제에 대한 많은 게시물이 있지만 모든 해결 방법을 시도했지만 해결되지 않아 여기에 게시합니다...

저는 AT91BootStarp 3.5.9와 리눅스 커널 3.6.9를 사용하고 있습니다. 내 문제는 Linux가 두 번째 메모리 뱅크(EBI_CS1의 128MB가 0x20000000에 매핑됨)를 사용하지 않는다는 것입니다.

메모리 맵은 다음과 같습니다: 0x70000000 => 0xc0000000(128MB - DDRSDRC0) 0x20000000 => 0xc8000000(128MB - 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

부팅할 때 다음 경고가 표시되고 보드는 256MB 대신 128MB로 구성됩니다.

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

관련 정보