2011년4월21일..make, Makefile, path, deamon, symbol link, mfile(Win-AVR), AVR-gcc 자료형, LED응용제어

 

1. Makefile없이 make하기

image image

상기와 같은 기본형 소스를 컴파일하려면,
# make main
이라고 입력하면 실행파일이 만들어진다.

Makefile이 필수는 아니다.

image

main.c만 있는 상태에서,
# make main.o
라고 입력하면 오브젝트파일만 생성된다.

image  make를 한 번 더 하면 갱신되어 컴파일 하지 않는다.

이는 파일 생성시간을 보고 만약 생성된 파일인 main이 main.c보다 오래 된 경우 main.c가 최근 수정(갱신)되었다는 의미이므로,
make시에 컴파일을 수행한다. 그러나 main.c가 main보다 오래 된 경우 main.c는 갱신되지 않았으므로 컴파일을 수행하지 않는다.

★수정한 파일만 재컴파일 (소스가 많을 수록 유리하다)
★풀 컴파일(빌드)이 오래 걸리는 휴대폰의 경우 조금 수정하고 모든 파일을 컴파일하면 개발이 늦어지고 짜증나므로 수정된 파일들만 컴파일 하고 과거에 만들어진 다른 오브젝트파일들과 링크(합체)하는 것이다. (make의 장점)

○make옵션정리

-v 버전

--help 도움말

 

이러다 월화수목금금금…OTL

2.PATH

환경변수를 알아 보기 위해 set명령을 입력하면,
# set

image

윈도우의 환경변수와 같은 PATH가 보인다.

image

/usr 디렉토리는 다양한 응용프로그램이 설치되는 곳.
/kerberos

 

 

 

 

3.Deamon

 

 

4.symbol link

 

 

 

5.Makefile

 

 

 

6.Mfile (WIN-AVR)

 

 

 

7.AVR-gcc자료형

(소스)

image

(설명)

포인터는 하지 못 하였음. (왜 그랬을까?)

(동영상)

(결과 테이블)

type 크기 type 크기
char 1 char * 2
short 2 short * 2
int 2 int * 2
long 4 long * 2
float 4 float * 2
double 4 double * 2

(PC와 비교)

PC PC AVR
type 크기 크기
char 1 1
short 2 2
int 4 2
long 4 4
float 4 4
double 8 4
* (포인터) 4 2

PC는 32bit CPU와 32bit BUS시스템이라 포인터의 크기는 32bit 즉, 4Bytes이다. 
PC의 주기억장치의 크기가 32bit 주소버스의 크기이므로 4GBytes가 된다.

AVR은 8bit CPU이나 외부와 내부에 16bit 어드레스 버스를 가지므로 포인터의 크기는 16bit 즉, 2Bytes가 된다.

 

8.LED응용 실습문제

ⓐ 8개의 LED가 일정간격으로 동시에 ON/OFF를 반복 (4월20일에 하였으므로 생략)
ⓑ 0에서 부터 255까지 증가하는 숫자를 LED에 표시하기

(소스)

image

(설명)

(동영상)

 

ⓒ LED가 왼쪽에서 오른쪽으로 이동하면서 하나씩 ON/OFF를 반복하기

(소스)

image

(설명)

(동영상)

 

 

 

(노트…노트의 내용이 보기 좋게 올라감;;;)

DSCN2315 DSCN2316 DSCN2317 DSCN2318 DSCN2319 DSCN2320 DSCN2321