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

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

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

초보의 질문이니 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 조회 수
6188 rebis보드에 카메라 모듈에 과한 질문입니다. [2] 노현우 2006-10-01 1161
6187 이홍석님의 패키지를 따라하다가 문제가 좀 있네요. <==[완료] [4] 박영학 2006-10-02 1825
6186 USB자동 마운트 결과 <== [완료] [1] 박영학 2006-10-03 1120
6185 고도리님 DM9000A 판매처? [1] 윤광윤 2006-10-05 906
6184 혹시 실수 연산을 정수 연산으로 바꿔주는 lib 같은거 있나요? &... [1] 한승혁 2006-10-05 1424
6183 VOIP 관련 오디오코덱자료를 얻으려면 ... [1] 장석원 2006-10-06 965
6182 s3c2413 보드에 리눅스커널2.6의 시리얼콘솔을 새로 포팅하려 하는데 ... [1] 장석원 2006-10-08 1165
» u-boot 1.1.4의 u-boot-arm.h 관련 질문...입니다..[완료] [2] 손진호 2006-10-14 1132
6180 이재훈님의 OPIE, TSLIB 해보신분 계신가요? <==[완료] [4] 박영학 2006-10-14 1036
6179 3차보든 언제 나오는지요 [3] 김영호 2006-10-19 1070
6178 밑에 글에 이어서 SD에 포팅에 대하여<=[완료] [6] 서성준 2006-10-20 1536
6177 오늘 가입한 신입인데요..궁금한게 있어서요.. [1] 김영일 2006-10-20 917
6176 [궁금] 3차 공제와 관련해서.. <= [완료] [3] 이득재 2006-10-22 1313
6175 SD/MMC 모듈 올린후<=[완료] [5] 서성준 2006-10-24 1472
6174 [s3c2440] FTDI USB Serial converter사용하고 싶은데요??[완료... [8] 김창연 2006-10-24 7850
6173 [질문] printf 에 관해 <= [완료] [2] 양용현 2006-10-26 856
6172 SMDK2440A 오디오 재생 관련 [4] 조성현 2006-10-27 1431
6171 부트로더에서 자동부팅을할려구하는데요..<==완료 [1] 윤현승 2006-10-27 954
6170 cs8900에서 받는 irq 핀을 변경하려는데... [2] 이율삼 2006-10-30 964
6169 s3c2440에서 터치스크린 설정시 ==> [완료] [7] 강권일 2006-11-01 1584

사용자 로그인