우분투로_임베디드하기
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 우분투로_임베디드하기 [2010/06/08 15:45] – suapapa | 우분투로_임베디드하기 [2013/08/03 05:04] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 8: | Line 8: | ||
| * 좋아서(like) 쓴다 -> 좋아서(better) 쓴다 | * 좋아서(like) 쓴다 -> 좋아서(better) 쓴다 | ||
| * 어렵다 -> 쉽다 | * 어렵다 -> 쉽다 | ||
| + | ====== 초보 리눅스의 일반적인 실수 ====== | ||
| + | * root권한 남발 | ||
| + | * 질문은 공손하게 | ||
| + | * 아쉬운 사람이 우물 파라! | ||
| ====== 리눅스의 장점 ====== | ====== 리눅스의 장점 ====== | ||
| * bash >>>> | * bash >>>> | ||
| * 각종 언어의 컴파일러가 공짜로 딸려온다. | * 각종 언어의 컴파일러가 공짜로 딸려온다. | ||
| - | * | + | * 가장 효율적인 패지키 관리 시스템 |
| + | ====== 리눅서가 현실에 타협하는 방법 ====== | ||
| + | * 오픈소스 어플은 거의 대부분 다른 OS에서도 똑같이 동작한다 | ||
| + | * vim, gimp, openoffice, arduino, eaglecad, eclipse | ||
| + | * cygwin, virtualbox, vmware와 같은 가상 리눅스 환경 | ||
| + | * python과 같은 os indepedent한 인터페이스가 철학인 언어 습득 | ||
| + | ====== 크로스컴파일 ====== | ||
| + | * 툴체인(컴파일러등...) 설치 | ||
| + | * [[http:// | ||
| + | * Make 파일의 예 | ||
| + | <code make> | ||
| + | CROSS_COMPILE=" | ||
| + | </ | ||
| + | <code make> | ||
| + | # Make variables (CC, etc...) | ||
| + | AS = $(CROSS_COMPILE)as | ||
| + | LD = $(CROSS_COMPILE)ld | ||
| + | CC = $(CROSS_COMPILE)gcc | ||
| + | CPP = $(CC) -E | ||
| + | AR = $(CROSS_COMPILE)ar | ||
| + | NM = $(CROSS_COMPILE)nm | ||
| + | STRIP = $(CROSS_COMPILE)strip | ||
| + | OBJCOPY | ||
| + | OBJDUMP | ||
| + | </ | ||
| + | <code make> | ||
| + | test : main.o read.o write.o | ||
| + | gcc -o test main.o read.o write.o | ||
| + | |||
| + | main.o : io.h main.c | ||
| + | gcc -c main.c | ||
| + | read.o : io.h read.c | ||
| + | gcc -c read.c | ||
| + | write.o: io.h write.c | ||
| + | gcc -c write.c | ||
| + | </ | ||
| + | |||
| + | ====== 컴파일 속도 업 ====== | ||
| + | 일반적인 makefile | ||
| + | 툴체인 적용 | ||
| + | ccache 설명 | ||
| + | distcc 설명 | ||
| ====== Embedded ====== | ====== Embedded ====== | ||
| * XX안에 들어가 있는 컴퓨터 | * XX안에 들어가 있는 컴퓨터 | ||
| Line 19: | Line 64: | ||
| * qcad - 기구 | * qcad - 기구 | ||
| * eagle cad - HW | * eagle cad - HW | ||
| - | | + | ===== Fritzing ===== |
| + | 빵판에 사운드 센서 구성 | ||
| + | | ||
| + | * [[http:// | ||
| * gerbv - FAB | * gerbv - FAB | ||
| * arduino - SW | * arduino - SW | ||
| Line 32: | Line 81: | ||
| ====== arduino ====== | ====== arduino ====== | ||
| * 소개 | * 소개 | ||
| - | * 구입 | + | ===== 설치 ===== |
| - | * 설치 | + | debian/ |
| - | * 프로그래밍 | + | <code bash> |
| + | Package: arduino | ||
| + | Architecture: | ||
| + | Depends: ${misc: | ||
| + | Description: | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | . | ||
| + | | ||
| + | and can affect its surroundings by controlling lights, motors, and other | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | (e.g. Flash, Processing, MaxMSP). | ||
| + | |||
| + | </ | ||
| + | * AVR 크로스 컴파일러 | ||
| + | * 개발환경 설치 | ||
| + | |||
| + | ====== | ||
| + | <code cpp> | ||
| + | bool isOn; | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | pinMode(13, OUTPUT); | ||
| + | pinMode(12, INPUT); | ||
| + | |||
| + | isOn = false; | ||
| + | digitalWrite(13, | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | if(digitalRead(12) == HIGH) | ||
| + | { | ||
| + | // double check for debouncing | ||
| + | delay(1); | ||
| + | if (digitalRead(12) == HIGH) | ||
| + | { | ||
| + | isOn = !isOn; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if(isOn) | ||
| + | digitalWrite(13, | ||
| + | else | ||
| + | digitalWrite(13, | ||
| + | } | ||
| + | </ | ||
| + | ====== 방금 지나간 일 ====== | ||
| + | buildlog | ||
| + | < | ||
| + | ... | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | upload | ||
| + | < | ||
| + | ./ | ||
| + | / | ||
| + | </ | ||
| ====== 소개하지 않은 어플들 ====== | ====== 소개하지 않은 어플들 ====== | ||
| * gnucap | * gnucap | ||
우분투로_임베디드하기.1276011915.txt.gz · Last modified: 2013/08/03 05:04 (external edit)