임베디드 시스템이 뭐에요?


처음 뵙는 분께 "임베디드 시스템을 개발합니다."라고 말씀 드리면 대부분 "임베디드가 뭡니까?" 되물어 옵니다. ERP나 공장 자동화, 웹 서비스를 개발한다고 하면 자세히 몰라도 대충 알겠다 하는데, "임베디드"하면 아직은 낯설게 생각되나 봅니다. 이럴 때 "특정 기능만 처리하는 작은 컴퓨터 시스템입니다" 라고 말씀 드립니다만, 설명이 매우 짧지요.

그러나 말이 생소해서 그렇지 주위에서 흔하게 볼 수 있는 것이 임베디드입니다. 가령 밥통만 보아도 예전에 비해 다양한 기능을 가지고 있습니다. 저 어렸을 적 밥통은 버튼을 꾹 눌러주면 타이머에 의해 일정 시간 동안 밥을 지었다면 요즘은 쌀밥이나 잡곡에 따라서 취사 방법을 달리하여 맛있는 밥을 만들어 줍니다. 이렇게 똑똑한 밥통이 될 수 있는 것은 밥통 안에 내장(embedded)되어 있는 임베디드 시스템 덕분입니다.

냉장고도 전력 효율을 높이면서 냉동과 냉장 효과를 높이기 위해 복잡한 제어 시스템이 들어 있는데 이 부분 역시 임베디드 시스템이 담당합니다. 냉장고 안에 남아 있는 재료를 가지고 만들 수 있는 요리 방법을 제공하는 제품이 있다는 얘기를 들은 적이 있는데 상품으로 나왔는지 모르겠네요.

로봇청소기도 똑똑해야 합니다. 한쪽 구석만 뱅뱅 돌기만 하면 뭐에다 쓰겠습니까? 최근에는 집 안을 돌아 다닐 수 있는 유일한 가전 제품이라 카메라를 장착해서 방범으로도 사용되고 있습니다. 회사에서 집에 있는 청소기를 원격 조정해서 걱정되는 곳을 보는 것이죠. 가스 끄고 나왔는지 걱정될 때 사용하면 매우 편하겠지요. 이 역시 임베디드 시스템이 담당하고 있습니다.

임베디드 리눅스 시스템

그렇다면 임베디드 시스템은 밥통이나 청소기처럼 작은 시스템에만 사용될까요? 아닙니다. 임베디드 시스템은 만드는 방법에 따라 밥통보다 더 작은 자동차 제어 장치에서 고층 빌딩, 발전소, 공장 등의 조명 제어, 화재 감시, 엘리베이터 제어, 출입 통제 등 기능 별로 충실하게 만들어져서 전체적으로 큰 시스템을 이룹니다.

저는 임베디드 시스템을 만드는 여러 방법 중에서 리눅스를 이용하는 "임베디드 리눅스 시스템"을 개발하고 있습니다. 리눅스. 친근한 이름이죠? 리눅스를 운영해야 하므로 컴퓨터를 사용합니다. 대신에 보통 집에서 사용하는 컴퓨터보다도 훨씬 작은 크기의 컴퓨터를 사용하며 리눅스도 작은 컴퓨터에서 실행할 수 있도록 최적화된 작은 리눅스를 사용합니다. 이렇게 작은 리눅스를 일반 리눅스와 비교하여 "임베디드 리눅스"라고 합니다.

모습도 바꾸는 임베디드 리눅스 컴퓨터

임베디드 리눅스가 실행되는 컴퓨터는 크기만 작은 것이 아니라 기능과 하는 일에 따라서 모양까지 바꿉니다. 일반 PC를 사용한다면, 예를 들어 랜 포트가 하나 더 필요하다면 슬롯에 랜 카드를 장착합니다. 카메라를 연결해야 한다면 USB를 이용하여 PC에 연결합니다. 시리얼 포트가 필요하다면 USB를 이용하거나 역시 슬롯에 꽂는 카드를 이용합니다. 즉, PC 모양의 변형 없이 카드나 USB를 이용하여 하드웨어를 추가합니다. 그래서 PC와 함께 몸집이 커지거나 더 집어넣고 싶어도 공간의 한계에 부딪히면 PC를 하나 더 추가하기도 합니다.

그러나 임베디드 시스템은 아예 그 모양부터 변경합니다. LAN 포트가 4개가 필요하다면 추가 배치하여 새로운 모습으로 만들어 냅니다. 비디오 카메라가 필요하다면 보드 내에 카메라 컨트롤러를 내장합니다. 통신 포트가 16개가 필요하다면 16개를 몸체에 모두 붙여 버립니다.

저희 회사 제품 중에 ESP-NS라는 임베디드 리눅스 보드입니다. 시리얼 포트를 4개나 가지고 있는데 설정에 따라 233, 485, 422로 전환하여 사용할 수 있습니다. 시리얼 포트 외에도 이더넷 포트가 2개 있고 DI와 DO 출력도 있어서 웬만한 일은 모두 처리할 수 있습니다.

제가 좋아하는 제품 중에 ESP-MMI 보드입니다. 이 제품은 임베디드보드 이면서도 하드디스크를 사용할 수 있고 VGA출력 단자를 이용하여 일반 모니터로 화면 출력할 수 있습니다. 232뿐만 아니라 422/485 시리얼 포트까지 있어서 교육용으로도 좋습니다.

 

CPU와 메모리 부분만 따로 모듈로 하고 변화무쌍한 인터페이스 부분을 따로 구성하는 제품도 있습니다. 보드 개발 중에 가장 어려운 부분이 CPU와 메모리 부분이라고 하더군요. 이 부분만 따로 모듈화한 것이죠. 이렇게 모듈화하면 개발 비용이 저렴해 지고 개발 기간을 단출할 수 있습니다. 예로 EZ-PXA270 은 INTEL PXA270 (XScale Core 520MHz) 을 탑재한 보드로서 커널 2.6을 채택하여 일반 사용자들도 쉽게 접할 수 있게 설계 개발된 제품입니다.

이 외에도 저희 회사 쇼핑몰에 오시면 더욱 다양한 제품을 보실 수 있습니다.

이렇게 기능에 맞추어 자유자재로 새롭게 구성하기 때문에 소프트웨어뿐만 아니라 하드웨어부터 최적화된 시스템을 만들어 낼 수 있습니다.

처리할 수 있는 일이 매우 다양

리눅스를 이용하기 때문에 리눅스 OS가 제공하는 막강한 기능을 이용할 수 있다는 강점이 있습니다. 리눅스 하면 멀티태스킹 이 탁월하고 무엇보다도 통신에 강하기 때문에 서로 다른 시스템 간의 네트워크를 중계한다든지, 아니면 상위 시스템에서 전달해 오는 제어 명령을 다른 시스템으로 전송하고 항상 주변 장치를 감시하면서 수집한 데이터를 가공해서 다시 상위 시스템으로 전송하는 등의 시스템에 적합합니다. 그래서 복잡한 시스템을 하나의 시스템으로 어렵게 만들기 보다는 임베디드 시스템으로 분산하여 전체적인 시스템 구조를 기능별로 단순화 시킬 수 있는 것은 물론 안정성도 높일 수 있습니다.

더욱 높아져 가는 사양

최근에는 기술의 발전으로 임베디드 시스템에 대한 요구도 높아져 가고 있습니다. 덕분에 일이 점점 힘들어 집니다. 일도 많이 어려워 졌고요. 그러나 어디 임베디드 시스템만 그런 가요. 요즘 프로그램을 보면서 예전 기억을 떠올리면 놀랍기만 합니다. 제 직업에 대한 얘기이다 보니 글이 다소 길어 졌네요. 앞서 말씀 드렸지만, 임베디드 시스템에 대해 생소하시고 PC로만 개발하는데 어려움을 겪는 분이 있을 것 같아서 정리해 보았습니다. 임베디드 시스템처럼 기능에 최적화되고 더욱 전문적인 개발 분야가 있다는 것을 알아 주세요. ^^

저작자 표시 비영리 변경 금지
신고
학주니 | 2011.03.17 20:35 신고 | PERMALINK | EDIT/DEL | REPLY
쩝.. 저 내용을 그냥 그대로 이해하는 나는 뭘까요.. -.-;
jwmx | 2011.03.17 23:48 신고 | PERMALINK | EDIT/DEL
아이, 학주니님은 전문가이시잔아요. ^^
dawnfog | 2011.03.17 21:41 신고 | PERMALINK | EDIT/DEL | REPLY
falinux라는 회사 이름을 많이 들어 봤었는데 님이 거기서 일을 하시는 군요
저도 관심을 가지던 분야네요
(지금은 전혀 다른 것에 관심을 가지고 있습니다)
임베디드 센서 네트워크, 유비쿼터스, u city까지
편리한 미래사회의 필수 요소죠
핸드폰 말고 모든 물건이 스마트 해 진다면 ㅎㅎ 많이 편리 하겠네요
jwmx | 2011.03.17 23:50 신고 | PERMALINK | EDIT/DEL
앞으로 "스마트" 인기가 오래 갈것 같아요. ^^
쫑굴이 | 2011.03.18 04:28 신고 | PERMALINK | EDIT/DEL | REPLY
저는 컴 입문이 늦어서 프로그래밍은 잘 모릅니다. 근데 좀 배우고 싶은데 머리가 안되고, 본업이 아니어선지 항상 1장만 보다 끝나 버리네요.. 그래서 프로그래밍 잘 하시는 분들 보면 매우 대단해 보이고 부럽습니다. 대단해요 ~~
jwmx | 2011.03.19 02:17 신고 | PERMALINK | EDIT/DEL
저도 항상 실력이 딸려 허덕입니다. ^^;
구현 | 2011.03.18 09:24 신고 | PERMALINK | EDIT/DEL | REPLY
덕분에 임베디드에 대해 보다 자세히 알게 되었습니다. 감사합니다.
항상 올리시는 포스트 잘 보고 있습니다^^;
jwmx | 2011.03.19 02:18 신고 | PERMALINK | EDIT/DEL
제 블로그를 애독해 주셔서 감사합니다. ^^
싸움꾼 | 2011.03.18 13:22 신고 | PERMALINK | EDIT/DEL | REPLY
설명을 들으니 그러려니 하던 시스템에 대해서 제대로 알게 되었습니다.

감사합니다.
jwmx | 2011.03.19 02:18 신고 | PERMALINK | EDIT/DEL
고맙습니다. ^^
dmasi | 2011.03.18 17:01 신고 | PERMALINK | EDIT/DEL | REPLY
...고기 굽는 저도 내용 이해가 가네요 -_-;;;머지;;;;;;;;;;;;;;

기왕 일케 된거 이력서나 넣어볼까요 ㅡ.,ㅡ....
jwmx | 2011.03.19 02:18 신고 | PERMALINK | EDIT/DEL
하하, 말씀 감사합니다. ^^
라라윈 | 2011.03.18 23:57 신고 | PERMALINK | EDIT/DEL | REPLY
+_+ 많이 배웠습니다...
jwmx | 2011.03.19 02:19 신고 | PERMALINK | EDIT/DEL
고맙습니다. 즐거운 주말 보내세요. ^^
팽달팽달 | 2011.03.19 20:03 신고 | PERMALINK | EDIT/DEL | REPLY
언젠가 이 부분에 대해 자세히 설명해주시길 바랬는데.. ㅎㅎ 감사합니다.

위에서 말씀하신 ERP가 Enterprise Resource Planning 맞나요? 경영학도로서 생각나네요. 일례로 편의점 바코드기로 인해서, 창고에 채워 넣어야할 상품, 매출 등등을 집계 가능하게 하는..

그리고 인간을 대신할 기계를 만드는 것도 이 임베디드 시스템을 통해서라고 보는데, 맞는 건가요?
jwmx | 2011.03.19 21:42 신고 | PERMALINK | EDIT/DEL
네, 말씀하신 대로 “전사적 자원 관리” 맞습니다. ^^
구차니 | 2011.03.19 20:05 신고 | PERMALINK | EDIT/DEL | REPLY
재미있지만 입문하는 사람에게는
Welcome to the HELL! 인 영역이죠 ㅎ

개인적으로 하나 구매하고 싶지만
구매하기에는 좀 항상 부담스런 가격이라서 군침만 흘리게 되더라구요 ㅠ.ㅠ
jwmx | 2011.03.19 21:43 신고 | PERMALINK | EDIT/DEL
개인이 혼자 공부하기에는 범용 보드의 가격이 못 되었지요. ^^
jjHappy | 2011.03.21 23:10 신고 | PERMALINK | EDIT/DEL | REPLY
갖고 싶네요... 엄밀히 말하면 조립해야 하는 키트가 아니라 케이스 까지 다 되어 있고 전원만 켜면 되는 완제품을요... 물론 돈이 문제지만..
jwmx | 2011.03.22 12:36 신고 | PERMALINK | EDIT/DEL
개인이 학습하기에는 가격이 좀 부담이 되지요? ^^
| 2011.03.23 23:44 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
jwmx | 2011.03.24 12:29 신고 | PERMALINK | EDIT/DEL
메일로 말씀을 드리겠습니다. 조금 늦더라도 양해를 부탁드립니다. ^^
| 2011.03.24 13:05 | PERMALINK | EDIT/DEL
비밀댓글입니다
byeffort | 2011.04.16 16:30 신고 | PERMALINK | EDIT/DEL | REPLY
쇼핑몰을 보니 공부해보고 싶은 마음을 누르기 힘들어지네요 +_+
지름신이 스믈스믈 내려오고 있는..
김준우 | 2011.05.17 14:40 신고 | PERMALINK | EDIT/DEL | REPLY
컴퓨터 개론 이라는 수업에 과제가 와서그런데 잠시 포스팅 해가도 되겠습니까? 나중에 지우도록 하겠습니다. 출처 당연히 밝히고요..
| 2011.09.27 14:25 | PERMALINK | EDIT/DEL | REPLY
비밀댓글입니다
jwmx | 2011.09.27 15:10 신고 | PERMALINK | EDIT/DEL
임베디드 시스템은 컴퓨터를 이용하지만, 범용이 아닌 특정 기능에 맞추어진 내장형 시스템을 말합니다.
그러므로 일반적으로 사용하는 컴퓨터의 소프트웨어와 하드웨어와는 달리 기능 수행에 따라 다양한 모양으로 하드웨어가 제작되며, 소프트웨어도 모든 기능이 아닌 특정 기능에 맞추어 작성됩니다.
| 2014.10.25 03:41 신고 | PERMALINK | EDIT/DEL | REPLY
이분야가 안드로이드에 침범당할 우려가 있는거 아닙니까 솔직히 두렵네요
| 2014.10.25 03:41 신고 | PERMALINK | EDIT/DEL | REPLY
이분야가 안드로이드에 침범당할 우려가 있는거 아닙니까 솔직히 두렵네요
바다야크 바다야크 | 2014.10.25 11:55 신고 | PERMALINK | EDIT/DEL
GUI 때문이라도 안드로이드를 사용합니다. ^^
Name
Password
Homepage Secret