우분투로_임베디드하기
This is an old revision of the document!
Table of Contents
Intro
- 내 소개,
- 어쩌다가 우분투를 쓰게 되었나?
리눅스에 대한 일반적인 편견
- 리눅스는 공짜다 → 리눅스는 비싸다
- 하드웨어 지원이 부족하다
- nvidia, HP6LPro, MS 전략 커맨더, 스캐너,
- 좋아서(like) 쓴다 → 좋아서(better) 쓴다
- 어렵다 → 쉽다
초보 리눅스의 일반적인 실수
- root권한 남발
- 질문은 공손하게
- 아쉬운 사람이 우물 파라!
리눅스의 장점
- bash »» 넘사벽 »» cmd
- 각종 언어의 컴파일러가 공짜로 딸려온다.
- 가장 효율적인 패지키 관리 시스템
리눅서가 현실에 타협하는 방법
- 오픈소스 어플은 거의 대부분 다른 OS에서도 똑같이 동작한다
- vim, gimp, openoffice, arduino, eaglecad, eclipse
- cygwin, virtualbox, vmware와 같은 가상 리눅스 환경
- python과 같은 os indepedent한 인터페이스가 철학인 언어 습득
크로스컴파일
- 툴체인(컴파일러등…) 설치
- CodeSourcery, avr-gcc
- Make 파일의 예
CROSS_COMPILE="distcc arm-none-eabi-" -j16
# 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 = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump
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
- XX안에 들어가 있는 컴퓨터
- 그림첨부FAIL임베디드가 아닌 것의 예제
- 임베디드 개발 플렛폼으로의 우분투
소개할 어플
- qcad - 기구
- eagle cad - HW
Fritzing
eagle cad
- 소개
- 설치
- 사용 - (회로→아트웍) 스크린샷
- FAB (아트웍→gerber파일)
- 관련 링크
arduino
- 소개
설치
* AVR 크로스 컴파일러 설치 * 개발환경 설치
프로그래밍
bool isOn; void setup() { pinMode(13, OUTPUT); pinMode(12, INPUT); isOn = false; digitalWrite(13, HIGH); } void loop() { if(digitalRead(12) == HIGH) { // double check for debouncing delay(1); if (digitalRead(12) == HIGH) { isOn = !isOn; } } if(isOn) digitalWrite(13, HIGH); else digitalWrite(13, LOW); }
방금 지나간 일
buildlog
... /usr/bin/avr-ar rcs applet/core.a /home/suapapa/apps/arduino-0017/hardware/cores/arduino/WInterrupts.o /usr/bin/avr-ar rcs applet/core.a /home/suapapa/apps/arduino-0017/hardware/cores/arduino/HardwareSerial.o /usr/bin/avr-ar rcs applet/core.a /home/suapapa/apps/arduino-0017/hardware/cores/arduino/WMath.o /usr/bin/avr-ar rcs applet/core.a /home/suapapa/apps/arduino-0017/hardware/cores/arduino/Print.o /usr/bin/avr-gcc -mmcu=atmega8 -I. -gstabs -DF_CPU=16000000 -I/home/suapapa/apps/arduino-0017/hardware/cores/arduino -Os -Wall -Wstrict-prototypes -std=gnu99 -o applet/ClapOn.elf applet/ClapOn.cpp -L. applet/core.a -lm /usr/bin/avr-objcopy -O ihex -R .eeprom applet/ClapOn.elf applet/ClapOn.hex
upload
./pulsedtr.py /dev/ttyUSB1 /home/suapapa/apps/arduino-0017/hardware/tools/avrdude -V -F -C /home/suapapa/apps/arduino-0017/hardware/tools/avrdude.conf -p atmega8 -P /dev/ttyUSB1 -c stk500v1 -b 19200 -U flash:w:applet/ClapOn.hex
소개하지 않은 어플들
- gnucap
우분투로_임베디드하기.1276588513.txt.gz · Last modified: 2013/08/03 05:04 (external edit)