수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1695055
  • Today | 800
  • Yesterday | 606

Embedded2005/10/04 02:48

임베디드 프로그래밍 개요와 MSN 메신저 설계-2

정지용

‘PC에 리눅스 설치하기’부터
메신저 제작에 앞서서 준비해야 할 것이 몇 가지 있다. 임베디드 프로그래밍을 할 수 있는 임베디드 시스템 구축과 개발 툴의 설치이다. 가장 먼저 해야 할 것은 ‘PC에 리눅스 설치하기’. 설치할 때 패키지 중에서 Glade와 tftp 등의 필요한 패키지를 선택해서 설치해야 한다. tftp(Trivial File Transfer Protocol)는 파일을 송수신할 수 있는 매우 단순한 형태의 파일전송 프로그램이다. 주로 커널이나 부트로더 전송시 이용된다. 그리고 Glade는 GTK로 GUI를 꾸밀 예정이라면 설치하는 것이 좋다. 쉽게 GTK 코드를 생성해 주기 때문에 유용하게 쓸 수 있을 것이다.
PC에 리눅스 설치하기가 끝났다면 임베디드 보드를 하나 구입하자. 이미 시중에는 임베디드 보드가 다양하게 출시되어 있다. 주로 ARM 계열과 DSP 계열의 보드들인데 영상 처리나 고속데이터 처리 위주의 프로그래밍이라면 DSP를 추천하고 일반적인 프로그래밍에서는 ARM을 추천하고 싶다. 처음 시작하기에는 ARM 계열의 보드인 팜팜테크의 Tynuxbox X를 이용한다면 쉽게 접근할 수 있을 것이다. Tynuxbox X의 경우 Intel Xscale PXA255를 탑재하고 있고 그래픽 LCD부터 TCP/IP 모듈까지 기본적인 하드웨어 모듈을 제공하기 때문에 초보자도 쉽게 이용 가능하다. 현재 CDMA 모듈을 탑재한 Tynuxbox Xe까지 출시되어 있다.
보드를 준비했다면 부트로더와 OS를 타켓 보드에 설치하고 크로스 컴파일 환경까지 구축해 보자. 제공되는 매뉴얼을 하나하나 따라가면서 설치하면 어렵지 않게 할 수 있을 것이다. 간혹 문제가 발생하거나 어려움에 빠졌을 때는 보드 제작사의 Q&A를 이용해서 해결하자.


<그림1> 개발 환경 구축 순서



<화면2> TynuxBox에서 SWIM을 실행한 모습



<그림2> 메신저 전체 구성도


소스 제작 및 관리는 이렇게
임베디드 프로그래밍뿐만 아니라 모든 프로그래밍에서 소스를 제작하는 것과 관리하는 것은 매우 중요하다. 임베디드 프로그래밍에서는 크로스 컴파일의 과정을 거치기 때문에 더욱 편리한 툴이 필요하다. IDE 툴인 ESTO는 ETRI에서 개발한 프로그래밍 툴이다. 크로스 컴파일부터 타켓보드 전송 후 실행하는 기능까지 다양한 기능을 가지고 있다. 임베디드 프로그래밍을 하다 보면 컴파일, 전송, 실행의 세 과정을 반복하는 경우가 많은데 이를 한번에 처리해 주기 때문에 매우 편리하다. 또한 대규모 작업이 되면 makefile을 매번 수정하는 일 또한 번거로운 작업인데 그런 작업을 간단하게 해결할 수 있다. vi에서 작업을 해도 상관은 없지만 이런 IDE 툴을 이용해서 개발을 한다면 개발 속도를 더 높일 수 있을 것이다.
대규모 프로젝트라면 소스와 문서를 관리하는 것이 매우 중요하다. 한 번의 실수로 그 동안의 결과를 날려버릴 수도 있다. 또한 여러 명이 동시에 비슷한 분야의 일을 한다면 소스가 섞여버리는 경우도 있다. 이를 위해 소스 관리를 할 필요가 있다. 리눅스에서는 CVS (Concurrent Versions System)를 지원하고 있는데 서버로 셋팅을 해 주고 CVS를 이용해서 소스를 관리하기를 추천한다. 리눅스가 아니라도 CVS는 얼마든지 이용 가능하므로 소스나 문서를 관리하기에 매우 유용하리라 생각한다. CVS는 버전별로 소스를 관리해 주고 동시작업으로 인한 소스 충돌에 대해서도 어느 정도 해결책을 제시해 주기 때문에 대규모 프로젝트에서는 필수적이라 할 수 있다.
필자 팀은 CVS의 덕을 많이 보았다. 프로젝트 마무리를 앞두고 하드코딩 모드(?)에 돌입해서 프로그래밍을 하다가 소스가 뒤섞여버리는 바람에 프로젝트를 거의 실패할뻔 했다. 그때 CVS를 이용해서 간단히 1주 전의 소스로 모든 것을 되돌릴 수 있었고 1주 전의 코드부터 새로 시작해서 그 상황을 복구할 수 있었다. 프로그램을 제작하는 일만큼이나 그 프로그램을 관리하는 일 역시 중요하다는 것을 항상 명심하자.
"Embedded" 카테고리의 다른 글
  • 임베디드 프로그래밍 개요와 MSN 메신저 설계-4 (0)2005/10/04
  • 임베디드 프로그래밍 개요와 MSN 메신저 설계-3 (0)2005/10/04
  • 임베디드 프로그래밍 개요와 MSN 메신저 설계-2 (0)2005/10/04
  • 임베디드 프로그래밍 개요와 MSN 메신저 설계-1 (0)2005/10/04
  • 부트로더의 네트워크 구현(2)-6 (0)2005/08/30
2005/10/04 02:48 2005/10/04 02:48
Posted by webdizen
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/1555

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 1609 1610 1611 1612 1613 1614 1615 1616 1617 ... 3009  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • 조니워커 블루
  • 서버 로그인
  • Introduction to SQL
  • Kernel
  • NTFS
  • 프로세스 정보
  • XMLReader
  • CFile
  • 강원대
  • RegOpenKey
  • 컴포넌트
  • 프로필
  • GetProcAddress
  • Wikia Search
  • 웹 개발자
  • 쿼리 디자인
  • 최적화
  • 창강관
  • Modeling
  • 마이그레이션

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 경청... 너무나 중요한데.......
    webdizen 14:59
  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Polarux - Linuxing
      • Rodman®
      • 까만 나비
      • 나를 가꾸는 시간.
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.