Busan IT/ARM Assembly2015. 12. 1. 13:39

==================================Outline====================================

컴파일에 대한 단상

ARM ADS 설치

컴파일 공장 이야기

----------------------------------------------------------------------------

 

컴파일에 대한 단상

 

01로 이루어진 코드를 문자를 도입하여 표시하게 되어 사람이 코드를 작성하는데 용이하게 되었다.

 

 

어셈블리 언어는 CPU에 따라 문법이 달라진다. 호환성의 한계를 해결하기 위해서 고급 언어인 CC++이 등장하게 되었다.

 

 

CPU에 자유롭다 - high level language

CPU에 종속된다 - low level language

 

C로 작성 -> Assembly 언어로 변환 -> cpu가 해석할 수 있는 bit pattern으로 변환

 

 

메모리는 플립플롭의 회로를 사용하여 데이터를 보존한다.

 

cross compile이란 프로그램을 고사양 개발 PC에서 컴파일 후 프로그램이 사용될 CPU에 이식하는 것을 말한다.

 

ARM ADS 설치

 

공유 폴더에 가서 ARM ADS(ARM Developer Suite) 1.2를 가져온다. setup.exe를 눌러 실행한다.

 

** 굳이 설명이 없는 것은 변동 없이 다음을 눌러주면 된다.

 





 

 

보안패치 업데이트

 



예제 파일 ‘OK7S256ads’은 인터넷 검색하여 사용한다. 압축을 풀어 Program File에서 ADS가 설치된 폴더 안에 잘라 넣는다.

 

IDE를 실행하고 예제 파일을 불러들인다.

 



 

그룹을 생성한다.

 






 

 

‘Cstarup_SAM7.c‘ ’retarget.c‘ 도 같은 방식으로 등록한다.



 

이제 예제 파일을 추가한다.




 

새로운 프로젝트 환경 설정










 

코딩 시 코드의 탭 간격 조절

 





 

주소가 달라 오류가 난다. 주소를 수정해보자.

 

 

베이스 주소를 '0x00000000'로 수정하니 컴파일이 됐다. 하지만 warning이 뜬다. entry point가 없다는 메시지이다.

 

다시 alt + F7을 눌러 디버그 세팅으로 간다. Image Entry Point창에 'entry'를 입력한다.

 

 

 

다시 컴파일을 해보자.

 

 

잘된다.

 

 

 

 

Atmel사 홈페이지로 간다.

 




//MCU를 구입할 때 evolution kit를 사야한다. 아니면 CPU 달랑 하나 구입하는 꼴이 된다.

 

컴파일 공장 이야기

 

 

 

//전처리 과정이 빠져있다.

 

elfbin파일은 둘 다 기계어이다. 실제로 동작이 가능한 파일이 bin파일이다.

 

실행 파일 구조는 윈도우는 pe계열 리눅스는 elf계열이다. 임베디드 계열은 대부분 elf계열이다.

 

컴파일 과정을 그림으로 표시하면 다음과 같다. 





 

 

 

반응형
Posted by newind2000