Notice
Recent Posts
Recent Comments
Today
Total
04-30 00:02
Archives
관리 메뉴

Jeongchul Kim

임베디드 리눅스 개발 환경 <2> HW 개발 환경의 사본 본문

Embedded Linux

임베디드 리눅스 개발 환경 <2> HW 개발 환경의 사본

김 정출 2015. 12. 21. 19:04

8.1 임베디드 리눅스 개발을 위한 일반적인 하드웨어 환경


<그림> 임베디드 리눅스 개발을 위한 일반적인 하드웨어 환경


임베디드 리눅스 소프트웨어를 개발하는 PC와 개발된 소프트웨어를 실제 탑재하여 실행시키는 타겟 보드 간

용도 별로 케이블을 연결하는 것을 하드웨어 개발 환경이라 한다.


PC 연결

기능

설명

Parallel(25-pin)

ex. LPT1

Programming

타겟 보드의 JTAG 포트를 통해 Embedded Linux BSP 이미지 파일들을

타겟 보드의 플래시 메모리에 탑재하는 기능

Serial (9-pin)

ex. COM1

Moniotoring

타겟 보드의 Debug 포트를 통해 타겟 보드의 상태 정보를

PC의 키보드와 모니터로 확인할 수 있는 기능

Ethernet

Downloading

타겟 보드의 Ethernet 포트를 통해 Embedded  Linux BSP 이미지

파일들을 타겟 보드의 메모리(SDRAM)로 다운로드하는 기능


8.1.1 Programming 환경

소스 코드를 프로그래밍한다고 할 때가 아니라 여기에서처럼 하드웨어 환경에서 얘기하는 프로그래밍 환경은

“타겟 보드를 구동하기 위해 필요한 바이너리 실행 코드(이미지 파일)들을 타겟 보드에 내장된 프로그램 메모리에 탑재 하기 위한 환경”을 말하며, 이를 위해 별도의 케이블과 전용 소프트웨어가 필요하다.


이러한 Programming 환경은 각 CPU 마다 조금씩 다르며, ARM 프로세서 기반의 타겟 보드에서는 보통

JTAG 기법으로 굽는게 일반적이다. 그러나 Embedded Linux BSP를 구성하고 있는 Boot Loader, Kernel, File System 이미지 파일들의 사이즈가 비교적 크기 때문에, 속도가 느린 25핀 병렬 케이블 외에 속도가 빠른

Ethernet 케이블을 사용하여 빠른 속도로 타겟 보드에 다운로딩하여 탑재하는 방법도 있다.


8.1.2 Monitoring 환경

PC에는 키보드와 같은 표준 입력 장치와 모니터와 같은 표준 출력 장치가 있기 때문에 소프트웨어의

실행 결과를 바로 확인해 볼 수 있으나, 타겟 보드는 일반적으로 이러한 표준 입출력 장치가 없다.


따라서 임베디드 리눅스를 개발할 때는 PC에 장착된 키보드와 모니터를 마치 타겟 보드에 장착된 것 마냥 가상적으로 사용할 수 있는 환경이 제공되는 데 이것이 모니터링 환경이다.


Windows에서 사용되는 “하이퍼터미널”과 같은 Linux의 “minicom”이라는 “가상 시리얼 에뮬레이터” 를 사용하여 모니터링 환경을 구착하는게 일반적이다.



8.1.3 Downloading 환경

JTAG은 일반적으로 PC의 병렬 포트를 통해 실행되는데, 고가의 상용 JTAG 장비가 아닌 공개용 JTAG 소프트웨어로  실행시킬 때에는 속도가 매우 느리다는 단점이 있다.


<그림> Parallel Programming 시간과 Ethernet Downloading 시간 비교


이를 해결 시키기 위해 임베디드 리눅스에서는 이더넷(Ethernet) 기반의 다운로드 방식을 지원한다.


Parallel Programming 방식은 단 한 번만 실행시킨다는 장점이 있지만 속도가 워낙 느리다는 단점이 있는 반면, Ethernet Downloading 방식은 일단 타겟 보드의 메모리(RAM)에 먼저 다운로드를 하고, 다시 이를

플래시 메모리에 탑재시켜야 하기 때문에 한 단계 작업을 더 해주어야 하는 단점이 있지만, 속도가 빠르기 때문에 이 방식을 많이 채택한다.




8.2 타겟 보드 “Eddy DK”

Eddy DK 타겟 보드는 시스템베이스 사에서 개발한 ARM9 프로세서 기반의 임베디드 모듈인 “Eddy” 제품

Eddy는 크게 CPU, 메모리, 플래시로 구성된 “Eddy-CPU”모듈과 “Eddy-CPU” 모듈의 각 기능들을 하나씩 테스트해 볼 수 있도록 LED, Key-Button을 비롯한 주변 부품들로 구성된 “Eddy-DK”로 구분


<그림> 타겟 보드 “Eddy DK”의 형태


타겟 보드는 “Eddy-CPU” 모듈이 장착된 “Eddy-DK”이며, CPU 모듈이 중간에 장착되어 있다.














8.2.1 임베디드 CPU 모듈 “Eddy-CPU”

<그림> Eddy-CPU V2.5


Eddy-CPU Spec.

Eddy-CPU 모듈은 ARM9 코어 프로세서를 탑재한 고성능, 초소형의 임베디드 CPU 모듈입니다. Eddy-CPU를 통해 다양한 산업현장에 적용 가능한 장비를 손쉽게 디자인, 개발 할 수 있으며 시스템베이스에서 제공되는 다양한 SDK, API를 통해 어플리케이션에 최적화된 장비를 빠르고, 쉽게 개발이 가능합니다. 다양한 외부 디바이스 연결을 위한 19bit Address Bus와 16Bit의 Data Bus 인터페이스를 제공하고 이더넷 및 USB, SPI 등 다양한 Peripheral 과 56개의 프로그램 가능한 GPIO를 제공합니다.


하드웨어


CPU

ARM9G20(400 MHz)

Memory

8MB DATA FLASH, 32 MB SDRAM

External Interface

19 bit / 16 bit data bus

Ethernet Interface

10/100 Base-T (MAC PHY, AUTO MDI/MDIX)

UARTs

4port, support up to 921.6Kbps

- 1 : DCD, RxD, TxD, DTR, DSR, RTS, CTS, RI

- 2,3,4, : RxD, TxD, RTS, CTS only

USB 2.0 FS

2 Host /1 Device port, 2.0 FS(12Mbps)

ADC

0ne 4-channel 10 bit ADC

TWI(I2C)

Master, Multi-master and slave mode

SPI

8- to 16-bit Programmable Data Length

Four External Peripheral Chip Selects

MCI

MMC spec v3.11 / SDIO spec v1.1 / SD

Card Spec v1.0 Up to 2GB, 12.5Mbps

GPIO

Max. 56 Programmable I/O Pins

Power Input

3.3 V (200 mA Max)

Dimensions

25 x 48.5 x 6.2 mm

Weight

7 g


통신환경


Protocol

TCP, UDP, Telnet, ICMP, DHCP, TFTP, HTTP, SNMP 1&2, SSH, SSL

Ethernet

10/100Mbps MAC / PHY

Network

접속방식

Static IP, DHCP


소프트웨어


O/S

Embedded Linux

관리 도구

SNMP, Web, PortView

업로드

TFTP, FTP, Web

개발 도구

LemonIDE & SDK


대부분의 회사에서 1차적 으로 부품 조립이 완료되면 가장 먼저  하는 게 조립된 타겟 보드의 디버깅인데,

고가의 JTAG 장비를 사용하여 타겟 보드에 장착된 CPU와 메모리를 살리기 위한 디버깅을 한다.

이에 시간과 노력이라는 비용이 발생하는데, Eddy-CPU 모듈처럼 이미 개발이 완료된 모듈을

사용하게 되면 이러한 부담을 없앨 수 있다. 더불어, 어떤 제품의 외관 형태에도 적용이 가능하도록 사이즈를

최소로 하여 설계했기 때문에 제품 개발에 들어가는 시간과 비용을 최소로 할 수 있을 것이다.














8.2.2 임베디드 개발 키트 “Eddy DK”


<그림> Eddy DK 부품 배치 형태


Eddy-DK는 Eddy의 응용 프로그램 개발 및 테스트를 위한 평가 플랫폼을 제공합니다. 사전에 개발자는 하드웨어 환경을 통합하기 전, 응용 프로그램을 Eddy-DK에서 테스트할 수 있으며 사전 테스트 된 응용 프로그램을 통해 제품 개발 기간을 단축할 수 있습니다. Power, Ready 등 다양한 Peripheral LED는 Eddy의 작동 상태를 쉽게 파악 하기 위한 수단으로써 제공되고 외부 디바이스 테스트를 위한 LCD 및 스위치, 다양한 외부 확장 포트를 통해 최적화된 개발 솔루션을 제공합니다.


<그림> Hardware Spec



Comments