압축파일을 풀어 두개의 프로그램을 아래 directroy에 복사한다.
C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin(or C:\Program Files\Microsoft Visual Studio\VC98\Bin)

1. project생성
2. Win32 console application
3. An empty project
4. Source files추가 또는 생성

armcc(arm compilier) call 방법(Workspace의 source files폴더 setting)
General tap:
always use custom build

Custom build tap
Description:
ARM compiling $(InputPath)

Commands:
swizzle1 "$(ARMROOT)\ADSv1_2\bin\armcc" -c -g -o0 $(InputPath) -o $(IntDir)\$(InputName).o

Oupputs:
$(IntDir)\$(InputName).o

armasm(arm assembler) call 방법(Workspace의 asm(asm source가 있는)폴더 setting)
General tap:
always use custom build

Custom build tap
Description:
ARM assembling $(InputPath)
Commands:

swizzle1 "$(ARMROOT)\ADSv1_2\bin\armasm" -g $(InputPath) -o $(IntDir)\$(InputName).o
uniqadd $(IntDir)\$(InputName).o $(IntDir)\Link.via

Oupputs:
$(IntDir)\$(InputName).o

armlink(arm linker) call 방법(Worksapce의 root폴더 setting)
Post-build tap
Post-build description:
 ARM linker and making

Post-build commands:
swizzle1 "$(ARMROOT)\ADSv1_2\bin\armlink" -info totals -via $(IntDir)\link.via -o $(TargetName).axf

fromelf(arm maker) call 방법(Workspace의 root폴더 setting)
Post-build tap

Post-build commands:
swizzle1 "$(ARMROOT)\ADSv1_2\bin\fromelf" –m32 –output $(TargetName).m32 $(TargetName).axf

armar(library생성) call 방법(Workspace의 root폴더 setting)
Post-build tap

Post-build commands:
swizzle1 "$(ARMROOT)\RVCT\Programs\version#\release#\win_32-pentium\armar" -create $(TargetName).a -via $(IntDir)\link.via

위와 같이 해도 되지않을 경우가 있습니다. 바로 retarget.c파일 때문입니다. ADS내부의 함수를 사용하지 않는다면 바로 되겠지만 printf와같은 함수를 사용하게되면 retarget.o를 함께 링크시켜 주어야 합니다.

swizzle1 "C:\Program Files\ARM\ADSv1_2\Bin\armlink" -info totals -entry entry -ro-base 0x000000 -rw-base 0x200000 -first Cstartup.o(reset) retarget.o -via $(IntDir)\link.via -o $(TargetName).axf

'Embedded' 카테고리의 다른 글

Raspberry PI Under-voltage detect & 번개표시 제거방법  (0) 2019.07.23
Raspberry PI WIFI Drop  (0) 2019.07.23
AND