HOME자료실역대 수상작

역대 수상작

The World Embedded software Contest 2024

[2009년] 장려상 - USB Downloader (BLOB) / upload (Host)

분류명
정부 시상
훈격
KESIC회장상
- 팀명 : Brisbane
- 소속 : 한성대학교
- 참가부문 : Qplus 기능 개선
- 개요
임베디드 기기 개발은 하드웨어 개발과, 소프트웨어인 부트로더, 리눅스와 같은 운영체제, 루트파일 시스템이나 응용프로그램을 적재하고 디버깅하는 과정으로 말할 수 있다. 특히 임베디드 리눅스 기반 시스템에서 그러한 소프트웨어들을 적재하는 과정은 주로 [그림1]과 같은 Serial 케이블(RS-232) 또는 이더넷 크로스 케이블을 이용하여 개발머신과 타겟머신을 연결한 상태에서 진행한다. 이러한 방식들은 어려가지 단점을 지니고 있다.
속도상의 문제가 발생한다. 예를 들어 15MB 정도의 루트파일 시스템의 이미지를 타겟시스템으로 전송시 Serial 통신을 이용할 경우 30분이 넘는 시간이 소요된다. 이러한 Serial 의 느린 통신 속도는 개발과정에서 매번 지불해야 하는 비용이며 개발 생산성에 악영향을 끼친다.
개발 편의성의 문제가 발생한다. 일부 데스크 탑 과 노트북 컴퓨터의 경우는 이미 오래 전부터 시리얼 포트가 기본 사양에서 빠지고 있어서 개발을 위해 USB-to-Serial Device나 다른 별도의 방법을 사용해야 하는 불편이 있다.
개발용 타겟시스템에는 시리얼 포트의 대안으로 이더넷 포트, 휴대용 임베디드 타겟 시스템들의 경우 무선 랜 장치를 가지고 있는 경우도 있으나, 크로스 이더넷 케이블의 경우, PC나 노트북 인터넷 연결과, 타겟 시스템과의 연결을 위해 두 개의 이더넷 포트가 필요하다. 또 일반 케이블을 이용하여 HUB나 스위치를 거쳐 서버와 연결되는 방식은, 통상 DHCP, TFTP로 구동되는 과정은 네트워크 설정 등의 어려움으로 여러 명이 사용하는 공간 환경에서는 정상적 동작이 이루어지지 않는 경우가 발생한다.
효과적인 커널 디버깅을 위해서는 가장 빠르고 확실한 방법은 [그림2]과 같은 JTAG 디버거 하드웨어를 사용하는 방법이다. JTAG디버거는 타겟 시스템의 CPU의 버스를 직접 제어하는 방법으로 타겟 시스템의 메모리를 직접 접근함으로써 이미지 쓰기 등을 수행할 수 있으나, JTAG 인터페이스의 속도 제한 때문에, 이미지 전송 목적이라기보다는 디버깅을 위해 많이 사용한다. 중요한 점은 JTAG 디버거가 개인 개발자 및 학생들 교육용으로 사용하기에는 값이 매우 비싸다는 점이다. 백만 원대에서 천만 원 대에 육박하는 가격을 지불하기에는 부담이 따른다.
따라서 이 프로젝트에서 제시하는, USB를 이용한 임베디드 시스템 교차 개발 환경의 구성은 느린 전송속도에 따른 생산성 문제와 개발 환경 구성의 편리성 문제, 경제성 문제 등 기존 교차 개발 통신 환경에서의 문제를 한꺼번에 해결할 수 있는 방법이 될 수 있기에 이 프로젝트를 시작하게 되었다.
top
주최

주관