도와주세요!!
글 수 15,339
2003.01.20 17:12:17 (*.227.236.247)
6663
하드웨어 쌩 초보입니다. --;
SDRAM 컴포넌트 같은것은 어디서 붙이나요? 장비가 있어야 할꺼 같긴 한데..
붙여주는곳이 있나요? --;
아예 개념이 없습니다. 질문이 맞는지도 모르겠습니다. 흐흐
꾸벅..
그리고 도움이 될지 모르지만 아래는 강좌의 내용입니다.
----
2.6 만약 압축 이미지 화일 크기가 4M를 넘을때
램디스크이 이미지 화일 크기가 4M가 넘으면 이지부트의 헤더 화일중
mem_map.h 의
#define DEFAULT_RAM_RAMDISK_IMG_SIZE (4 * 1024 * 1024)
를 고쳐서 재 컴파일 하여야 합니다.
즉 5M 정도 나오면
#define DEFAULT_RAM_RAMDISK_IMG_SIZE (5 * 1024 * 1024)
이런 식으로 수정 하여야 합니다.
---
현동석 wrote..
: SDRAM 32M -> 128M 성공기
:
: 휴~ 드디어 제대로 돌아가는 군요.
:
: 다른 일에 밀려 조금 늦게 글을 올립니다.
:
: 지난번 질문 때 올렸던 내용 + 주신 답변 + 수정된 사항을 정리하니
:
: 아래와 같이 되는 군요.
:
:
: -------------------------------------------------------------
:
: 1. 커널 수정
: ~~~~~~~
:
: a. arch/arm/kernel/setup.c
:
: #define MEM_SIZE (128*1024*1024) 로 변경.
:
: b. arch/arm/mach-sa1100/ezboard.c
:
: SET_BANK( 0, 0xc0000000, 64*1024*1024 ); //DSHYUN 2002-12-18
: SET_BANK( 1, 0xc4000000, 64*1024*1024 ); //DSHYUN 2002-12-18
: mi->nr_banks = 2; //DSHYUN 2002-12-18
:
: 지난번 주신 답변에서는 두번째 라인을 0xC8000000로 알려주셨는 데 요,
:
: 시스템이 다운되더군요. 0xC4000000-0xC8000000 영역을 잘못 접근
:
: 하려다가 다운되는 것 같아서 이부분을 0xC4000000으로 바꿔주었 더 니
:
: ( 한 뱅크 당 64M bytes 씩 접근하는 셈이죠. ) 부팅도 되 고 /proc/meminfo
:
: 에서도 128M bytes정보가 나오더군요 ( 아~ 흐믓. )
:
:
: 2. 부트로더 수정
: ~~~~~~~~~~
:
: a. ezboot.v22/include/mem_map.h
:
: #define RAM1_SIZE (128*1024*1024)
:
: #define DEFAULT_RAM_BOOT_START 0xC4800000
: #define DEFAULT_RAM_WORK_START 0xC4900000
: ( 이건 지난 번에 질문시 보여드린 바뀐 메모리 맵에 의한 것임 )
:
: b. ezboot.v22/main/main.c
:
: printf( "[RAM ADDRESS INFO : 0xC0000000 - %08X]
" ,0xc00000000 + (128*1024*1024) );
: ( 이건 안고쳐도 되지만,. 근데 고쳤더니 0xC0000000 - 0x08000000 으로 나옵니다. 안고쳤을 때도
: 0xC0000000 - 0x02000000으로 나오고... 자잘한 버그...? )
:
:
: *. 지난번에 고칠려다가 안고친 부분
: ~~~~~~~~~~~~~~~~~~~~~~
:
: a. ezboot.v22/include/ez_m01.h
:
: #define EZ_M01_RAM_BOOT 0xC4800000
: //부트 영역의 시작 위치 DSHYUN 2002-12-17
:
: #define EZ_M01_RAM_BOOT_END 0xC4820000
: // 부트 영역의 끝 DSHYUN 2002-12-17
:
: 위와같이 수정하면 4M이상의 램디스크 다운로드 후 시스템이 멈춰 버 립니다.(1)
:
: 그래서 수정하지 않으면 다운로드는 되는데, 부팅이 진행되다가 중 간에 멈춤니다.(2)
:
: (작은 커널 이미지는 부팅이 됩니다.)
:
: (1)번은 원인을 모르겠고, (2)번은 메모리 맵이 겹쳐서 그런것이 아 닌가 라는 생각이 듭니다.
:
:
: Q1. ez_m01.h의 EZ_M01_RAM_BOOT과 mem_map.h의 DEFAULT_RAM_BOOT_START 의
:
: 차이는 무엇입니까?
:
: Q2. EZ_M01_RAM_BOOT의 값을 고치지 않고 0xC0F00000로 놓아서 부트로 더 가 Ramdisk의
:
: 위치(in 바뀐 메모리 맵) 에서 동작하다가 4M이상의 압축 램디스 크 를 다운받을 때 자신이
:
: 동작하고 있는 메모리에 덮어써서 그러는 것으로 추정 중입니다. 그 렇다고 수정된 메모리
:
: 맵의 Bootloader위치로 EZ_M01_RAM_BOOT 값을 바꾸면 부팅중에 멈 춰 버리니,. 어떻게
:
: 하면 이러한 상황에서 4M이상의 램디스크 이미지를 다운받고, 부 팅 시키죠?
:
:
: [32M Memory Map]
:
: +---0xC200 0000---+
: |
: | Working RAM ( 16M )
: |
: +---0xC100 0000---+
: |
: | Bootloader ( 1M )
: |
: +---0xC0F0 0000---+
: |
: | RAM disk Image ( 7M )
: |
: +---0xC080 0000---+
: |
: | Kernel ( 7.68M )
: |
: +---0xC000 8000---+
: |
: | Kernel Param ( 32k )
: |
: +---0xC000 0100---+
:
: V
:
: [128M Memory Map]
:
: +---0xC800 0000---+ [바뀜]
: |
: | Working RAM ( 56M )*
: |
: +---0xC490 0000---+ [바뀜]
: |
: | Bootloader ( 1M )
: |
: +---0xC480 0000---+ [바뀜]
: |
: | RAM disk Image ( 63M )*
: |
: +---0xC080 0000---+
: |
: | Kernel ( 7.68M )
: |
: +---0xC000 8000---+
: |
: | Kernel Param ( 32k )
: |
: +---0xC000 0100---+
SDRAM 컴포넌트 같은것은 어디서 붙이나요? 장비가 있어야 할꺼 같긴 한데..
붙여주는곳이 있나요? --;
아예 개념이 없습니다. 질문이 맞는지도 모르겠습니다. 흐흐
꾸벅..
그리고 도움이 될지 모르지만 아래는 강좌의 내용입니다.
----
2.6 만약 압축 이미지 화일 크기가 4M를 넘을때
램디스크이 이미지 화일 크기가 4M가 넘으면 이지부트의 헤더 화일중
mem_map.h 의
#define DEFAULT_RAM_RAMDISK_IMG_SIZE (4 * 1024 * 1024)
를 고쳐서 재 컴파일 하여야 합니다.
즉 5M 정도 나오면
#define DEFAULT_RAM_RAMDISK_IMG_SIZE (5 * 1024 * 1024)
이런 식으로 수정 하여야 합니다.
---
현동석 wrote..
: SDRAM 32M -> 128M 성공기
:
: 휴~ 드디어 제대로 돌아가는 군요.
:
: 다른 일에 밀려 조금 늦게 글을 올립니다.
:
: 지난번 질문 때 올렸던 내용 + 주신 답변 + 수정된 사항을 정리하니
:
: 아래와 같이 되는 군요.
:
:
: -------------------------------------------------------------
:
: 1. 커널 수정
: ~~~~~~~
:
: a. arch/arm/kernel/setup.c
:
: #define MEM_SIZE (128*1024*1024) 로 변경.
:
: b. arch/arm/mach-sa1100/ezboard.c
:
: SET_BANK( 0, 0xc0000000, 64*1024*1024 ); //DSHYUN 2002-12-18
: SET_BANK( 1, 0xc4000000, 64*1024*1024 ); //DSHYUN 2002-12-18
: mi->nr_banks = 2; //DSHYUN 2002-12-18
:
: 지난번 주신 답변에서는 두번째 라인을 0xC8000000로 알려주셨는 데 요,
:
: 시스템이 다운되더군요. 0xC4000000-0xC8000000 영역을 잘못 접근
:
: 하려다가 다운되는 것 같아서 이부분을 0xC4000000으로 바꿔주었 더 니
:
: ( 한 뱅크 당 64M bytes 씩 접근하는 셈이죠. ) 부팅도 되 고 /proc/meminfo
:
: 에서도 128M bytes정보가 나오더군요 ( 아~ 흐믓. )
:
:
: 2. 부트로더 수정
: ~~~~~~~~~~
:
: a. ezboot.v22/include/mem_map.h
:
: #define RAM1_SIZE (128*1024*1024)
:
: #define DEFAULT_RAM_BOOT_START 0xC4800000
: #define DEFAULT_RAM_WORK_START 0xC4900000
: ( 이건 지난 번에 질문시 보여드린 바뀐 메모리 맵에 의한 것임 )
:
: b. ezboot.v22/main/main.c
:
: printf( "[RAM ADDRESS INFO : 0xC0000000 - %08X]
" ,0xc00000000 + (128*1024*1024) );
: ( 이건 안고쳐도 되지만,. 근데 고쳤더니 0xC0000000 - 0x08000000 으로 나옵니다. 안고쳤을 때도
: 0xC0000000 - 0x02000000으로 나오고... 자잘한 버그...? )
:
:
: *. 지난번에 고칠려다가 안고친 부분
: ~~~~~~~~~~~~~~~~~~~~~~
:
: a. ezboot.v22/include/ez_m01.h
:
: #define EZ_M01_RAM_BOOT 0xC4800000
: //부트 영역의 시작 위치 DSHYUN 2002-12-17
:
: #define EZ_M01_RAM_BOOT_END 0xC4820000
: // 부트 영역의 끝 DSHYUN 2002-12-17
:
: 위와같이 수정하면 4M이상의 램디스크 다운로드 후 시스템이 멈춰 버 립니다.(1)
:
: 그래서 수정하지 않으면 다운로드는 되는데, 부팅이 진행되다가 중 간에 멈춤니다.(2)
:
: (작은 커널 이미지는 부팅이 됩니다.)
:
: (1)번은 원인을 모르겠고, (2)번은 메모리 맵이 겹쳐서 그런것이 아 닌가 라는 생각이 듭니다.
:
:
: Q1. ez_m01.h의 EZ_M01_RAM_BOOT과 mem_map.h의 DEFAULT_RAM_BOOT_START 의
:
: 차이는 무엇입니까?
:
: Q2. EZ_M01_RAM_BOOT의 값을 고치지 않고 0xC0F00000로 놓아서 부트로 더 가 Ramdisk의
:
: 위치(in 바뀐 메모리 맵) 에서 동작하다가 4M이상의 압축 램디스 크 를 다운받을 때 자신이
:
: 동작하고 있는 메모리에 덮어써서 그러는 것으로 추정 중입니다. 그 렇다고 수정된 메모리
:
: 맵의 Bootloader위치로 EZ_M01_RAM_BOOT 값을 바꾸면 부팅중에 멈 춰 버리니,. 어떻게
:
: 하면 이러한 상황에서 4M이상의 램디스크 이미지를 다운받고, 부 팅 시키죠?
:
:
: [32M Memory Map]
:
: +---0xC200 0000---+
: |
: | Working RAM ( 16M )
: |
: +---0xC100 0000---+
: |
: | Bootloader ( 1M )
: |
: +---0xC0F0 0000---+
: |
: | RAM disk Image ( 7M )
: |
: +---0xC080 0000---+
: |
: | Kernel ( 7.68M )
: |
: +---0xC000 8000---+
: |
: | Kernel Param ( 32k )
: |
: +---0xC000 0100---+
:
: V
:
: [128M Memory Map]
:
: +---0xC800 0000---+ [바뀜]
: |
: | Working RAM ( 56M )*
: |
: +---0xC490 0000---+ [바뀜]
: |
: | Bootloader ( 1M )
: |
: +---0xC480 0000---+ [바뀜]
: |
: | RAM disk Image ( 63M )*
: |
: +---0xC080 0000---+
: |
: | Kernel ( 7.68M )
: |
: +---0xC000 8000---+
: |
: | Kernel Param ( 32k )
: |
: +---0xC000 0100---+