본문 바로가기

C언어/강의

2010년 10월 21일 목요일 (Source Insight 사용하여 DDRF헤더파일 분석하기)


Source Insight는 컴파일러가 아닌 분석 프로그램이다. 사용법을 알아보자

Project 탭에서 New Project를 클릭하여 새로운 프로젝트를 만들어준다. 단축키(알트+쉬프트+N)
그러면 다음과 같은 화면창이 나타난다.

특별한건 없다. New project name에 자신이 원하는 이름을 아무거나 입력하면 된다. 필자는 atmegatest라 정함.
그리고 아래쪽에 폴더의 경로가 보일것이다. 위의 그림은 미리 정해진 기본 경로이며 이것은 옆에 브라우져를 클릭
하여 자신이 원하는 경로로 임의로 바꿀수 있다. 필자는 D:\ProjectA\source insight로 정함. OK 클릭.


새 프로젝트의 이름을 정하고 ok를 누르면 위의 화면이 나오는것을 알수있다. 여기에서는 자신이 보고싶은
파일의 경로를 찾아서 ok를 눌러주면 된다. 필자의 경우 D:\projectA 폴더의 main.c파일을 보기위함.


File Name 이란곳이 2곳이 보일것이다. 첫번째 맨위는 빠른 탐색창으로 보시는게 편할것이다. 저곳에 c: 치고 엔터를 치면 경로가 C드라이브로 바뀌는 것을 알수있다. 그리고 오른쪽의 File name에서 원하는 파일을 더블클릭하면
아래쪽의 Project Files라는 큰 네모창으로 이동하는 모습을 볼수 있다. 옆에 show부분을 체크해제하면 모든 파일을
볼수가 있다. 

(클릭하면 원본 사이즈로 볼수 있습니다.)
자신이 보고자하는 하당파일을 더블클릭해서 파일을 열어보면 오른쪽에 창이 뜨는 것을 볼수 있습니다.(main.c)
그것에서 저는 DDRC를 보기위해서 DDRC에 마우스 커서를 올려놓고 컨트롤+왼쪽 클릭을 해줬습니다. 그러면
가운데에 보이는 것처럼 Multiple Locations라는 창이 하나 뜰겁니다. 그곳에서 자신이 사용하는 칩의 헤더 파일을
찾아서 클릭후 select를 클릭해서 헤더파일을 띄워줍니다.

DDRF를 쫒아가 보자
#define DDRF      _SFR_MEM8(0x61) ↓↓
#define _SFR_MEM8(mem_addr) _MMIO_BYTE(mem_addr) ↓↓
#define _MMIO_BYTE(mem_addr) (*(volatile uint8_t *)(mem_addr)) // uint8_t 캐스팅

DDRF=0xFF; ☜ _SFR_MEM8(0x61)=0xFF; ☜ _MMIO_BYTE(0x61)=0xFF; ☜ (*(volatile uint8_t *)(0x61))=0xFF;(최종형태)