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

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

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

초보의 질문이니 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 조회 수
188 kernel booting 오류 문의 드립니다. [9] 마빡 2015-04-15 419
187 S3C6410에서 NAND Flash K9K8G08U0D에서 K9K8G08U0E 변경시 [1] 이동희 2015-04-15 519
186 kernel booting 오류 문의. [3] 마빡 2015-04-20 896
185 i2c에러 [3] 머슴과마님 2015-04-28 1219
184 qt가 directFB를 사용하도록 했습니다. [2] 김아무개 2015-05-08 322
183 휴대폰을 임베디드보드처럼 사용가능한가요? [1] pedor11 2015-05-09 487
182 리눅스 디버깅 메세지 [1] 하하호호하하 2015-05-14 247
181 Exynos4412에서 16 KHz Sound 파일이 빠르게 재생되는 문제 [13] 이동희 2015-05-20 500
180 kernel testing & debugging, J-Link [2] *김종원 2015-05-20 239
179 android uenvt에 내용을 추가 했는데요 맞는 방법인가요? [1] pedor11 2015-05-20 132
178 android 에서 wifi ap list 기 안 나타나는 문제 [2] MrWho 2015-05-21 395
177 안드로이드 네비게이션 바 기본 위치 설정 관련 질문 살균세탁 2015-05-23 677
176 임베디드 안드로이드, 스마트폰 안드로이드 동작이 많이 다른가요? [3] ice179 2015-05-26 471
175 구글한글입력기 라이센스 잘 아시는 분? [2] 엘카 2015-06-02 652
174 안드로이드 센서 데이터 강제 발생하는법에 대해 질문합니다. [1] ImYeol 2015-06-03 732
173 리눅스에서 /dev/video 와 /dev/bue/usb/ 의 상관관계를 알수 있는 방... [1] pedor11 2015-06-08 279
172 v4l2를 이요하여 usb캠 출력하는데 영상이 깨지는현상이 나타나는데 ... file [1] biokk 2015-06-14 420
171 리눅스 루트 파일 시스템 질문드립니다. [1] 하하호호하하 2015-06-17 321
170 flow control에 관해서 여쭤 보고자 합니다. 열심히 2015-06-17 124
169 wince 6,0 LCD 포팅 질문 file [3] 깜성 2015-06-19 637

사용자 로그인