User Tools

Site Tools


우분투로_임베디드하기

This is an old revision of the document!


Intro

  • 내 소개,
  • 어쩌다가 우분투를 쓰게 되었나?

리눅스에 대한 일반적인 편견

  • 리눅스는 공짜다 → 리눅스는 비싸다
  • 하드웨어 지원이 부족하다
    • nvidia, HP6LPro, MS 전략 커맨더, 스캐너,
  • 좋아서(like) 쓴다 → 좋아서(better) 쓴다
  • 어렵다 → 쉽다

초보 리눅스의 일반적인 실수

  • root권한 남발
  • 질문은 공손하게
  • 아쉬운 사람이 우물 파라!

리눅스의 장점

  • bash »» 넘사벽 »» cmd
  • 각종 언어의 컴파일러가 공짜로 딸려온다.
  • 가장 효율적인 패지키 관리 시스템

리눅서가 현실에 타협하는 방법

  • 오픈소스 어플은 거의 대부분 다른 OS에서도 똑같이 동작한다
    • vim, gimp, openoffice, arduino, eaglecad, eclipse
  • cygwin, virtualbox, vmware와 같은 가상 리눅스 환경
  • python과 같은 os indepedent한 인터페이스가 철학인 언어 습득

크로스컴파일

  • 툴체인(컴파일러등…) 설치
    • 코드소서리, 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

빵판에 사운드 센서 구성

  • gerbv - FAB
  • arduino - SW

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



소개하지 않은 어플들

  • gnucap
우분투로_임베디드하기.1276587572.txt.gz · Last modified: 2013/08/03 05:04 (external edit)