본문 바로가기
코스웨어/15년 스마트컨트롤러

20150720-31번-차윤도-ARM bootcode분석,Datasheet 중간프로젝트

by 알 수 없는 사용자 2015. 7. 20.
728x90
반응형

# 1교시 ARM


저번시간에 makeclean과 make를 했었다 


&회사에가서 보드를 사면 제일처음 해야할일 


1.ARM보드의 제어권확보

-제일중요한것은 자료확보이다 

-홈페이지가서 최신자료(드라이버등)를 다운받으면된다


2.개발환경 

-컴파일러설치 


&원본은 여기 있고 수업은 가공한걸로쓴다 

(저번시간홈페이지에서 받은4개파일)








&CM이 준 소스를 분석해보자



bootcode: 보드를 초기화 시키는 코드

-확장자가 S는 ARM용 어셈블리파일 

-boot 는 노가다가 일을 하기위해 안전화끊을 매는것에서 유래했다는 말인가

-c로 레지스터를 100%건드리기는 불가능하기때문에 기계어나 어셈블리로 만드는데 

어셈블리가 쉽기때문에 주로 어셈블리로 만든다

-아트메가는 winavr 빌드되서 오브젝트형태로 숨어있다


부트코드의 멘마지막에 call main 이있다 


&cstartup.s코드

-c코드와 닮아 있다 

-main을 호출하는 부분이다 

나머지는 메인을 호출하는 동작을 서술


&링커스크립터 파일

-링크할때사용하는 파일

-저장방식 프로토콜



* pe format은 해킹관련책에 보면 잘나와있다 


&다시 elf코드로 


-boodcode를 실행하기전에 lowlevel.c를 호출한다

-main이 마지막이라는 것을 알수있다








-실행파일의 크기에 영향을 미치는 영역 code data BSS 이지만 BSS는 미미하기때문에 

실제로 code data가 영향을 준다고 할수있다 

-문자열만출력할경우 포인터로 주소만넘겨주는것이 제일 좋다 ->상수를 줄여줌

-스택이 많이 크면 실행이 안된다 Flash 메모리를 한계 ->재귀함수사용을 줄임


&Makefile






&datasheet를 보자 






#2교시 중간프로젝트


간단한걸로 해야겠다 

avr과 연동한 lcd제어 정도... 이거도 내가할수있을지 모르겠다 .... 


오늘하루도 수고하셨습니다. ~ 

728x90