64M 로 확장하고 테스트 프로그램을 짜서 Write/Read Test를 해봤습니다.
20M 까지는 테스트가 정상적으로 종료되었고
21M 부터는 메모리는 잡히지만 Paging 에러가 나면서 종료됩니다.

좀더 자세히 설명 드리자면...

----------------------------------------------------------
1. 커널 소스 수정
----------------------------------------------------------
"./linux/arch/arm/mach-sa1100/ezboard.c" 의 내용 수정

// SET_BANK( 0, 0xc0000000, 32*1024*1024 );
SET_BANK( 0, 0xc0000000, 64*1024*1024 );
mi->nr_banks = 1;

"./linux/arch/arm/kernel/setup.c"의 내용 수정

#ifndef MEM_SIZE
#define MEM_SIZE (64*1024*1024)
#endif

----------------------------------------------------------
2. kernel 컴파일 및 kernel image download 후 메모리 용량 확인
----------------------------------------------------------
[root@ezboard /root]$ free
total used free shared buffers
Mem: 58960 9788 49172 0 152
Swap: 0 0 0
Total: 58960 9788 49172
[root@ezboard /root]$

// 여기서, 커널 소스를 바꾸기 전에는 대략 49172K 에서
// 32M 용량을 뺀 용량을 표시했습니다. 대략 16M 정도가
// 되었던 것으로 기억됩니다.
// 이것으로 볼 때 64M에 대한 메모리 설정은 된 듯 싶군요.

----------------------------------------------------------
3. 테스트 프로그램 작성 및 메모리 테스트
----------------------------------------------------------
// 테스트 프로그램을 아래와 같이 만들어서 테스트 했습니다.
#include

#define TEST_MEM_SIZE 21*1024*1024

int main(int argc, char **argv){

unsigned long i;
char *buffer, data, tmp;

data = tmp = 0;

buffer=malloc(TEST_MEM_SIZE);
if(buffer == NULL){
printf("Memory Allocation failed.
");
exit(1);
}
printf("Memory Allocation Success.
");
printf("Memory Testing...
");

for(i=0;i buffer[i] = data;
tmp = buffer[i];
if(data != tmp){
printf("Not equal %d, %d
", data, tmp);
if(buffer != NULL){
free(buffer);
}
exit(1);
}
data++;
if(!(i%1024)){
printf("
%10ldbytes", i);
}
}
printf("
Memory Test Done
");
free(buffer);
return 0;
}

----------------------------------------------------------
이정도면 설명이 충분할 것 같군요.
그리고 메모리 페이징 에러날때 출력되는 메세지를 같이 첨부합니다.
좀 길다는 느낌이 들어서요...

참고로 SDRAM은 16M짜리 두개를 대신 32M 두개가 붙어있습니다.

답변 부탁 드리겠습니다.