프로젝트 내에서 arm asm을 사용해야 할 경우,
(코덱 같은 곳에서 빠른 연산을 위해 사용할 경우 사용.)
EVC를 위한 포맷 변경은 다음과 같다.
1. 프로젝트 설정
armasm.exe를 이용하여 빌드 하게 하기위해서
EVC에서 해당 sample.asm 또는 sample.S 파일을
우측마우스를 이용해 Settings를 연다.
Custom Build 탭에서
commands에
armasm sample.S
추가하고Outputs에
sample.obj
를 추가한다.전체 project setting의 C/C++ -> Category Listing Files -> Listing file type을
Assembly with Source Code
로 설정해서 전체 빌드시에 asm이 포함 되도록 한다.
2. 소스 편집
arm 어셈 관련 헤더. 추가
INCLUDE kxarm.h
추가 grobal 함수 선언
original CODE | CODE for EVC |
.global g_function_sample | EXPORT g_function_sample [FUNC] |
코드에어리어 및 align관련 설정 추가
original CODE | CODE for EVC |
.text .align |
TEXTAREA ALIGN |
코드 끝나는 부분에
END
도 추가해 준다.
warning : A0063: missing END directive
* END가 빠진 경우 build에는 지장 없지만, warning이 뜬다.함수 정의 변경
.function: <-- 이 형식이 허용되지 않는다.
앞에 . 도 붙일 수 없다.
error A0005: improper line syntax: .
function 또는 _function 으로 바꿔주자.original CODE | CODE for EVC |
.function: | function 또는 _function 등등 |
각 주석 부분 수정
@ /* */ // 형식의 주석처리가 허용되지 않는다. 세미콜론(;)을 사용. (블럭단위 주석처리도 evc용이 따로 있긴 있을것이다..)
error A0005: improper line syntax: @
original CODE | CODE for EVC |
/* 주석 */ mov r5, r0 @ r5 = dpp |
;/* 주석 */ ;mov r5, r0 @ r5 = dpp |