도와주세요!!
글 수 15,339
2002.05.25 08:49:03 (*.186.48.184)
6992
arch/arm/kernel/setup.c 에서 MEM_SIZE 는 mi->nr_banks 가 0일경우만
사용됩니다. 즉 사용자가 메모리 셋팅을 하지 않았을때 필요한 것이죠..
ezboard.c 의 fixup_ezboard() 함수를 설정하신다면 필요가 없어요
ezboard.c 의 fixup_ezboard() 에서
SET_BANK( 0, 0xc0000000, 32*1024*1024 ); // (A)
SET_BANK( 1, 0xc8000000, 32*1024*1024 ); // (B)
mi->nr_banks = 2; // (C)
위의 부분을 설명하면
SA1110에서는 메모리 뱅크를 4개까지 지원합니다.
(A)는 1번 뱅크에 32MByte의 메모리가 있다는 것이고
(B)는 2번 뱅크에 32MByte의 메모리가 있다는 것이죠
(C)는 사용하는 뱅크가 총 2개라는 의미입니다.
(A),(B)에서 주소에 주의하시고 각각의 뱅크 베이스주소는
0xc0000000, 0xc8000000, 0xd0000000, 0xd8000000
뱅크의 숫자를 틀리면 안되겠죠
만일 이지보드의 뒷면의 SDRAM 자리에 32메가를 붙였다면 위와 같이
설정하면 됩니다.
현재 있던 램을 띠고 그자리에 64메가를 붙였다면
SET_BANK( 0, 0xc0000000, 64*1024*1024 ); // (A)
mi->nr_banks = 1; // (C)
위와 같이 설정하세요