[RE] vxWorks customized bootloader 에서 binary file을 만들려면...
Reg. Date: April 19, 2001 By 유창모
2가지 방법이 있습니다.
1. 가장 쉬운 방법으로 넷매니아 자료실 29번에 올려 놓은 Windows용 convert.exe를 사용하십시오.
2. 좀 번거롭긴 하지만 바람직한 방법으로, convert.exe 대신에 GNU에서 제공하는 objcopy를 사용하시는 겁니다. VxWorks가 GNU Tool-chain을 사용하므로 아마 objcopyppc.exe라는 이름에 파일이 있을 것입니다.
다음과 같이 하면 BIN(Binary) format의 파일이 생성됩니다.
objcopyppc -O binary "ELF file" "BIN file"
convert의 경우는 앞에 32 byte header를 붙인 BIN format이 생성되어 extract_esthdr()와 같은 과정을 거쳐 순수한 BIN을 얻지만, objcopy의 경우는 순수한 BIN file(pure.bin에 해당하는)이 바로 생겨나니 좀 더 낳지요.
>>다름이 아니라 vxWorks customized bootloader 를 올릴때
>>host에서 처리에 대해서 궁금한게 있어서요...
>>
>>1. host에서 bin 을 (overhead 를 붙인) 만들려면 어떻게 해야되는지요?
>>- application을 만들어서 이 OS+APP 이미지를 어떻게 bin 으로 만들어야
>> 되는지를 모르겠습니다.
>
>질문하신데에 대한 답변을 제가 해드려도 될지 모르겠군여. 하하..
>
>원래 유창모님이 올리신것을 제 환경에 맞도록 고쳐본것 뿐이라서
>정확한 답변이 될지는 모르겠습니다. 제가 아는 한도에서 이야기 해드리겠습니다.
>
>host 디렉토리를 가시면 몇가지 파일이 있구여
>이 파일들은 말씀하신데로 pure bin file에다가 header를 붙인 꼴의 bin 파일을
>만들기 위한 유틸리티 소스에 해당합니다.
>
>이미 유창모님의 문서에 나와있듯이 이 환경은 solaris 에서 gcc 를 이용하고 있습니다.
>따라서 host 디렉토리에서 단순히 make 를 실행하시면
>elfToCBin 이라는 파일이 생성이 됩니다.
>이 파일은 solaris 의 실행파일을 사용하므로 host 디렉토리에
>convert.solaris 라는 파일을 복사해 놓으셔야합니다. (이 실행파일이 없으면 안됨)
>
>이 생성된 파일의 사용방법은 아주 간단합니다.
>실행명령어 대상파일 명령에의해변형된파일 순서로 명령을 실행 시키시면 됩니다.
>
>예) elfToCBin vxWorks vxWorks.bin
>
>이렇게 되면 유창모님 문서에 나온대로 elf파일(vxWorks)이
>pure bin file에다가 header를 붙인 꼴의 bin 파일(vxWorks.bin)로 변환이 됩니다.
>아래는 변형과정입니다.
>
>1. @convert_elf2bin: vxWorks -> est.bin
>convert v7.2E Copyright (c) 1996-1999 Embedded Support Tools Corporation
>convert ELF file vxWorks to Flat Binary file est.bin
>Extracting image from 'vxWorks'
>Writing flat binary image to 'est.bin'
>Lower address: 0x80000
>Upper address: 0xffffffff
>Execution address: 0x00080000
>Image written
>Processing time: 0.408 seconds
>2. @extract_esthdr: est.bin -> pure.bin
>3. @append_hdr: pure.bin -> vxWorks.bin
> magic number: 0x13579246
> board name: 0x0
> software version: 0x0
> size(exclude hdr): 0x889a8 (559528) bytes
> crc32(exclude hdr): 0x16754ef4
>Unlink est.bin, pure.bin
>
>