안녕하세요..

소스의 Makefile을 보시면 해답이 있습니다..

start 의 Makefile의 내용을 보시면 최종생성되는 파일은 start_org 입니다.이 사이즈가 796byte 정도 됩니다.
main 의 Makefile의 내용을 보시면 최종생성되는 파일은 main_org 입니다

이 둘을 dd 명령으로 합쳐 놓을 Makefile은 다음과 같습니다.

     dd if=start/start_org of=image/ezboot bs=1k conv=sync
     dd if=main/main_org of=image/ezboot bs=1k seek=1

이 Makefile에서 보시면 start/start_org 과 main/main_org 를 붙여 놓았습니다.

결론적으로 start 의 start.o파일을 사용하는것이 아니라 start_org를 사용한다는 것입니다.


그럼 수고하세요..



>안녕하세요..부트로더를 분석하다가 이해가 안되는 부분이 있어서 이렇게 질문을 올립니다.
>ez_m01부트로더 start.s에서
>bl        MemClear
>bl        LoaderRamCopy
>이부분에서 부트코드를  램에 다운로드 시킵니다.그런데
>ldr        r0, =EZ_M01_RAM_BOOT
>add        r0, r0, #0x400
>mov        pc, r0
>이부분에서 0x400을 더해주는데 start.o파일은 용량이 1킬로바이트가 넘는데,
>0x400이상을 더해주는게 맞는거 같은데..그런데 코드나 스크립트 파일을 보면은
>0x400을 더해주어서 main으로 가게 되있습니다.
>그러면 start코드 영역하고 main하고 겹쳐지지 않나 생각이 듭니다.
>왜 여기서 0x400을 더해주는지 알고 싶습니다.