우분투로_임베디드하기
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
우분투로_임베디드하기 [2010/05/26 15:24] – suapapa | 우분투로_임베디드하기 [2013/08/03 05:04] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
* 내 소개, | * 내 소개, | ||
* 어쩌다가 우분투를 쓰게 되었나? | * 어쩌다가 우분투를 쓰게 되었나? | ||
+ | ====== 리눅스에 대한 일반적인 편견 ====== | ||
+ | * 리눅스는 공짜다 -> 리눅스는 비싸다 | ||
+ | * 하드웨어 지원이 부족하다 | ||
+ | * nvidia, HP6LPro, MS 전략 커맨더, 스캐너, | ||
+ | * 좋아서(like) 쓴다 -> 좋아서(better) 쓴다 | ||
+ | * 어렵다 -> 쉽다 | ||
+ | ====== 초보 리눅스의 일반적인 실수 ====== | ||
+ | * root권한 남발 | ||
+ | * 질문은 공손하게 | ||
+ | * 아쉬운 사람이 우물 파라! | ||
+ | ====== 리눅스의 장점 ====== | ||
+ | * 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 10: | Line 64: | ||
* qcad - 기구 | * qcad - 기구 | ||
* eagle cad - HW | * eagle cad - HW | ||
- | | + | ===== Fritzing ===== |
+ | 빵판에 사운드 센서 구성 | ||
+ | | ||
+ | * [[http:// | ||
* gerbv - FAB | * gerbv - FAB | ||
* arduino - SW | * arduino - SW | ||
Line 23: | 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 |
우분투로_임베디드하기.1274887465.txt.gz · Last modified: 2013/08/03 05:04 (external edit)