예전부터 임베디드 시스템 분야라고 하면 너무나 멀게만 느껴지고, 어렵게 생각되는 분야였다.
하지만, 시간이 지나면서 이렇게 저렇게 관련 분야를 접하다보니, 그 의미를 더 자세히 알고 싶어지게 되었다.
그리고 그 정의를 명확히 할 필요가 있다.
Embedded를 의역하자면 "내장형"을 의미한다.
단어적인 의미로 embed는 깊이 간직하다, 끼워넣다, 깊숙이 박다라는 의미가 있다.
embed라는 명령어는 html에서 다른 객체를 끼워넣기 위해 사용되기도 한다.
Embedded System란 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능을 수행하는 컴퓨터 시스템이다.
여기서 특수한 기능이란 제한된 조건에 명확한 목표를 갖는 기능을 의미하여, 이러한 기능을 우선으로 수행되도록 설계된다. 대부분의 임베디드 시스템은 실시간 제약조건을 가지고 동작하며, 목표에 따라 빠른처리가 필요할 수도 있고, 아닐 수도 있다.
또한 목표만 만족한다면 부품들의 사양보다는 전체적인 단가를 우선적으로 고려하여 설계된다. 이러한 임베디드 제품은 양산되기 때문에 생산비용을 줄이는 것이 또하나의 관건이기도 한다.
개인용 컴퓨터(PC)는 하드디스크와 같은 대용량 저장장치에 운영체제(OS)를 내장하는 반면 임베디드 시스템은 운영체제와 응용 프로그램들이 롬(Flash Memory)에 이미지 형태로 저장되어 있다가 시동과 동시에 램 디스크에 로딩한후 구동된다.
이러한 임베디드 시스템은 오랜기간 오류없이 돌아가야하기 때문에 안정성이 중요하다. 이는 물리적으로도 강해야 하기 때문에 ROM대신 Flash Memory를 사용하는 추세이다.
CPU 아키텍쳐로는 현재 임베디드 시장에서는 ARM Core가 가장 강세이며 그 밖에도 여러가지가 존재한다.
(MIPS, PowerPC,X86...)
임베디드 시스템에서는 운영체제로는 RTOS를 이용하거나, 직접 OS를 만들어 올리거나, Embedded Linux, WinCE를 포팅하여 사용하고는 한다. 또는 필요에 따라 OS가 존재하지 않을 때도 존재한다.
이번 휴학기간동안에 Linux와 Embedded Linux를 같이 도전해 볼 예정이다.
'무언가 만들기 위한 지식 > ARM Processor' 카테고리의 다른 글
Boot Loader(Boot Code+CRT Start up Code) (0) | 2010.02.22 |
---|---|
JTAG && UART (1) | 2010.02.20 |
SOC(System On Chip) (0) | 2010.02.20 |
DMA와 MMU (0) | 2010.02.20 |
Memory Mapped I/O (1) | 2010.02.20 |