기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

음...왠만하면 쪽팔려서...질문 안할라고 했는데....당췌 몰라서...

모르면 물어보라는 예전 울 사수의 가르침을 떠올리며...질문 드립니다...

초보의 질문이니 X랄 같은 질문이더라도 너그러이 용서하시길....

----------------------------------------------------------------

우선 제가 u-boot 1.1.4를 smdk2410 설정에 따라 분석하고 있는데, c-routine

부분에서 막히는 부분이 있습니다..

board.c의 start_armboot()에, 다음의 부분이 있는데...

for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr)
{
    if ((*init_fnc_ptr)() != 0)
    {
        hang ();
    }
}

요런 부분이 나오는데...뭐 for문 돌아가는거야 함수 포인터 이용해서 배열 안에

있는 함수 하나씩 불러 실행하는 거라는 거...쉽게 알 수 있는데...

init_sequence 라는 배열에 선언된 몇몇 함수 (cpu_init, board_init, dram_init)

가 불려지는 부분에 의문이 들더군요...

일단, 이 세개 함수(cpu_init, board_init, dram_init)의 prototype이 선언된 파

일이 u-boot-arm.h 인데...이 u-boot-arm.h 파일을 include 하는 파일은

common.h 밖에 없고, 이 넘이 다음과 같이 조건부 컴파일로 묶여 있었습니다.

#ifdef CONFIG_ARM
# include <asm/mach-types.h>
# include <asm/setup.h>
# include <asm/u-boot-arm.h>        /* ARM version to be fixed! */
#endif /* CONFIG_ARM */

그런데 제가 정말로 의문이 드는 것은 u-boot 전체 디렉토리를 암만 뒤져도

CONFIG_ARM 이라는 매크로는 없더라는 겁니다...당황스럽더군요...

AESOP에서 제공하는 u-boot 소스(컴파일이 되어 있는 소스 같더군요..)를 봐도

CONFIG_ARM 매크로는 없다군요...

혹시나 해서 다른 리눅스 서버에서 for문 부분하고 함수포인터 배열만 비슷하게

모사해서 프로그램 짜고,  TEST를 해봤는데 prototype 없으면 당근 컴파일

안되더군요...긍께...저는 test할 때, gcc -o 옵션으로 바로 실행파일 뽑아보는

걸로 컴파일을 걸어봤는데 에러나더군요.

뭐 다른 부분도 걸리는 게 많아서 makefile 부터 다시 차근차근 분석을 했는데...

mkconfig 파일까지 분석 하니라고 뚤어져라 봤습니다만...다른 의문사항은 대부분

풀리는데, 이상하게 이 u-boot-arm.h 파일의 include 부분은 해결의 실마리를

찾지 못했습니다...

그래서, '고도리'님이 쓰신 u-boot 자료의 c-routine 부분을 차분하게 읽어 보았

으나, 제눈에는 답이 안보이더군요...

"뭐 실제 컴파일 하면 되겠지.." 이러고 다음 부분으로 넘어가도 되기는 한데...

넘어가려고 다음 부분 보면...꼭...머리 속에  이 문제가 걸려서...

쫌 뭐랄까...대변보고 난 뒤에 다 안 닦고 화장실 나온 느낌이랄까....

빚 안 갚고 빚쟁이 한테 쫓기는 기분이랄까........ㅡ,.ㅡ;;



쓰고 보니 넋두리가 되버렸네요....ㅡㅡ;.....이거 때문에 맘 고생이 싶해서...ㅜㅜ

고수분들의 답변을 부탁드립니다....

고현철

2006.10.14 04:43:13
*.117.46.252

u-boot의 top directory를 보면 arm_config.mk라는 녀석이 있습니다.

PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__

내용이 이렇게 되어 있습니다.

define의 경우 header에서 하는 경우도 있지만, 컴파일 옵션으로
처리하는 경우도 있습니다...^^

그럼...

손진호

2006.10.19 02:55:47
*.8.174.243

아....역시 모르면 물어보라는 우리 사수의 말이 옳았습니다...^^;;;

고현철님 감사합니다...

makefile이랑 gcc의 컴파일 옵션을 다시 한번 찬찬히 보고, 공부를 해야겠군요...

하면 할수록 갈 길이 멀다고 느껴집니다....ㅜㅜ
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
» u-boot 1.1.4의 u-boot-arm.h 관련 질문...입니다..[완료] [2] 손진호 2006-10-14 1132
187 s3c2413 보드에 리눅스커널2.6의 시리얼콘솔을 새로 포팅하려 하는데 ... [1] 장석원 2006-10-08 1165
186 VOIP 관련 오디오코덱자료를 얻으려면 ... [1] 장석원 2006-10-06 965
185 혹시 실수 연산을 정수 연산으로 바꿔주는 lib 같은거 있나요? &... [1] 한승혁 2006-10-05 1424
184 고도리님 DM9000A 판매처? [1] 윤광윤 2006-10-05 906
183 USB자동 마운트 결과 <== [완료] [1] 박영학 2006-10-03 1120
182 이홍석님의 패키지를 따라하다가 문제가 좀 있네요. <==[완료] [4] 박영학 2006-10-02 1825
181 rebis보드에 카메라 모듈에 과한 질문입니다. [2] 노현우 2006-10-01 1161
180 바이너리 값을 아스키 값으로 변경하려면 ... [완료] [2] 장석원 2006-09-30 1067
179 리눅스커널의 D.D.에서 1/30초 마다 해당 ISR을 수행하려면 ... [... [3] 장석원 2006-09-30 988
178 [질문] ARM7에 관해서요.. [4] 서성규 2006-09-30 855
177 2410(266MHz)에 128MB 램세팅. <= 완료 [5] 앨런쇼어 2006-09-29 1320
176 kernel 2.4.20, 2.6.11 & root filesystem howto(by godori) 에서... [3] 노현우 2006-09-27 989
175 S3C2440 보드에 삼성 CCD 카메라 포팅 질문입니다..[완료] [11] 김창연 2006-09-27 2940
174 S3C2440 계열 CPU 보드 개발 문의.. [3] 고재량 2006-09-26 2154
173 MP3 Player 제작중인데요~ <= 완료 [3] 한승혁 2006-09-25 1250
172 USB storage 마운트 어떻게들 하시나요. <== [완료] [11] 박영학 2006-09-23 8044
171 이럴수가 혹시 sjf2440 동글 남는것 있나요? [완료] [7] 진태영 2006-09-23 1018
170 이솝 2차보드로 uboot 변경했다가, 보드가 먹통이 되었어요. [완료] [9] 진태영 2006-09-21 1448
169 [NFS] 뭔 문제인지 잘 모르겠습니다. [완료!] [3] 이제현 2006-09-21 3245

사용자 로그인