회원가입 ID/PW 찾기

하드웨어 설계에 관련한 공개 강좌를 게재하는 공간입니다.
운영진에 의해 강좌글은 편집되며, 공익을 위한 게시글은 '하드웨어 강좌'란으로 이동될 수 있습니다.

콘텐츠 수 129

펌웨어 기초

용어도 모르겠어요 구매수 0 조회 수 5489 2013.09.14 21:55:46
판매자 아크마 판매 납포인트 무료 평점 3.0점 / 총 2명 참여

웨어(Firmware)란 무엇인가?

 

 컴퓨팅 분야에서 말하는 펌웨어는 특정한 하드웨어 장치에 포함된 소프트웨어를 말하는 겁니다^^. 소프트웨어를 읽어서 실행한다거나, 수정되는 것도 물론 가능하구요.

 

아주 간단히 펌웨어를 표현 하자면?!

 

“소프트웨어로 하드웨어를 제어할 수 있는 것“ 이라고 할 수 있어요.

 

예를 들어보자면 아래 나열한 것은 우리가 흔히 보고 써왔던 것들 인데요.

 

--------------------------------------------------------

PC에서 흔히 볼 수 있는 바이오스

애플 매킨토시에 사용되는 오픈 펌웨어

롬 집적 회로의 컴퓨터 프로그램

EPROM 칩은 특정한 하드웨어로 수정이 가능한 프로그램이지만, 응용 프로그램으로는 수정이 되지 않습니다.

산업용 프로그램

휴대전화의 프로그램

스마트폰

PDA의 프로그램

네비게이션의 프로그램

홈네트워크

MP3 플레이어의 프로그램

각종 계측기(Logic analyzer, 오실로스코프 Osciloscope)등의 프로그램

각종 로봇의 프로그램

디지털TV

PMP

DVD

DMB

디지털 카메라의 프로그램

USB 저장장치, USB Hub 등 각종 USB 장치(Device)

가전 전자제품의 프로그램

전기밥솥

냉장고

--------------------------------------------------------

 

 위에 보면 처음 들어 보시는 것이 있을 수도 있겠죠? 시간 날 때 이번 기회를 빌어서 한번 찾아보시는 것도 좋은 경험이 되지 않을까 합니다.^^

 

 

 펌웨어가 생긴 것은 아날로그 시대에서 디지털시대로 넘어 오면서 생겼습니다. 아날로그라는 것은 연속적으로 변화 하는 것이죠. 디지털 이라는 것은 0과 1의 신호체계로 동작하는 것을 말합니다. ^^ 설명이 너무 간단한가요?

 

 위에서 말했던 장치에는 소형의 CPU나 메모리들이 들어갑니다. 소형의 CPU는 MCU라고 불리는 말 그대로 작은 CPU의 역할을 하는 것을 말합니다.

 

 

 

 

모양이나 생김새는 여러 가지가 있습니다.

 

firmware_1.jpg

 

 

 아마 지나가다 한번씩은 보셨을 거에요. 요즘거의 대부분 전자제품 안에 들어가는 것들 이니까요. 펌웨어는 바로 이곳에 들어가는 제어용 프로그램입니다. 앞에 나열한 많은 장치들 안에 들어가서 특정적인 임무를 수행하죠. 특정한 임무라는 것은 각각의 제품마다 해야할 기능을 말하는 것입니다.

 

이해하기 쉽도록 MP3를 예로 들겠습니다.

 

 MP3는 음악을 플레이 해주는 소형기기를 말합니다. 이것은 음악을 플레이하는게 주된 임무입니다. 펌웨어는 이 안에 들어가서 곡을 넘기는 기능 볼륨을 키우거나 줄이는 기능 음향효과를 만들어 지원 해주는 기능 이외에 음악의 가사를 지원해주는 등의 일을 합니다.

 

 매우 중요한 것이죠 ^^. 이 펌웨어가 없다면 제품들은 아무 짝에도 쓸모가 없는 것이죠. 이제 펌웨어에 대한 감이 조금씩 오시나요?^^

 

 펌웨어라는 개념이 생기고 많이 발전해 오면서 우리는 제품을 보는 시각도 많이 바꼈습니다. 제품으로서의 특정 기능도 기능이지만 더 이상의 것을 가지고 저마다 경쟁력을 키워가고 있죠. 주된 것은 같은 기능을 갖지만 하나하나의 특별함을 갖는 것이죠.

 

 냉장고가 있습니다. 냉장고라는 제품은 대표적으로 음식을 차갑게 해서 보관하는게 그 특정한 임무입니다. 그렇기 위해선 냉매가 필요하고 그 냉매를 어떻게 컨트롤하는가가 관건입니다. 너무 세면 음식이 필요이상으로 차가워져서 요리하는데 불편함이 있을 것이고 너무 약하면 음식이 상하겠죠. 그리고 똑같이 냉장고에 넣었더라도 다른 온도로 보관을 요구 할 수도 있구요. 그런 여러 가지의 것들을 컨트롤 하는게 펌웨어라고 생각 하시면 됩니다.

 

그냥 냉장고와 펌웨어를 사용한 디지털 냉장고는 그냥 음식을 차갑게 하는것 보다는 앞에서 말한 여러 가지의 기능들에 대한 경쟁력을 가질 수 있습니다.

 

요즘 나오는 비싼 냉장고나 김치냉장고를 보면 좀더 세밀한 온도 설정이라든지 김치를 익히는 방법과 정도, 다양하게 저장 할 수 있는 음식의 종류를 설정 할 수 있죠? 그것이 다 펌웨어를 사용해서 설정을 하는 것입니다. 펌웨어를 수정하려면 특정한 기기가 있어야 하는데요. 이런 부분은 좀 난해한 부분이라서 개발자가 직접 그 부분을 수정해서 배포를 하면 컴퓨터와 연결해서 수정을 하거나 특정 디바이스를 이용해 업데이트를 하기도 합니다. 이런 부분을 모르는 사용자는 좀 난해한 부분이 될 수 있습니다.

 

이제 펌웨어가 얼마나 중요한 것인지도 아실수 있겠죠? ^^

 

 이러한 펌웨어는 한번 만들어서 저장하면 끝이 아니라 앞서 말한것과 같이  바꿀수 있다는 것에 대해 그 장점이 더 부각됩니다. 똑같은 제품이지만 펌웨어를 업그레이드 하는 것으로 아주 새로운 기능을 같는다거나 좀더 편리하게끔 바꿀 수도 있다는 것을 의미 합니다. 유지와 보수 면에서 탁월해 진다는것을 의미 하기도 하구요.^^

 

 여기에 여담을 더 붙이자면 여기서 펌웨어를 보는 관점은 크게 두가지로 나눌수가 있습니다.

 

[완벽함을 중시하는 관점]과 [기능추가의 관점]으로 나눌수 있습니다.

 

 완벽함을 중시하는 관점이란 흔히 대기업에서 보는 관점인데요.

분명 출시하는 제품에 있어서 하자가 있어서는 안되겠죠. 완벽해야 합니다. 그렇지 않으면 사용자로 하여금 알아서 A/S를 받으라는 말과 다를 바가 없으니 사람들은 특정기능을 위해 그 제품을 사고, 그 이상의 기능을 쓰지도 않거니와 업그레이드에 대해서 여러 가지로 불안해 하거나 그과정이 생소하기 때문에 어려워하는 사람들도 많다는 것을 전제로 한 시점입니다.

 

 기능추가의 관점 이라는 것은 앞서 말한 완벽함을 중시하는 관점과는 좀 다르게 바라보는 것인데요. 완벽함을 중시하는 관점은 매니아적인 얼리아답터들과 수 년 동안 사용해오면서 습관 속에서 제품에 대한 이해도가 높아진 충성도 높은 사용자들에게 배려가 좀 부족하다는 생각이 들게 할 수 있습니다. 그래서 기능을 이것저것 추가해서 후에 말한 사람들에게 더 낳은 충족감을 줄 수 있게 만드는 것이죠.

 

 하지만 이 두 시점은 동시에 만족 될 수도 있습니다. 처음엔 완벽한 펌웨어를 만들어 제품을 출시를 하고 기존 고객에게 제품에 더 애착이 갈수 있도록 새로운 기능이 추가된 펌웨어를 만들어 주는 것이죠. 버그가 좀 있더라도 잦은 펌웨어의 출시는 고객을 끄는 원동력이 될 수 있는 것이죠.

 

좀 더 사용자를 위해 배려를 해준다는 느낌이 들 수 있게끔 하는 것이죠.^^

 

 그러면 더 낳은 품질의 제품을 만들면서 동시에 사용자에게 만족감을 줄 수 있어서 좋지 않을까 합니다.

 

여기까지 펌웨어가 무엇이고 어떻게 사용되어 지는지 알아보았는데요.ㅋ

부족한 부분이 많습니다. 이 글을 읽고 펌웨어는 이런 거구나 하고 아셧으면 더 바랄것도 없습니다. ^^ 
오늘도 좋은 하루 보내세요 ^^       -레드리네-
 

* 레드리네님에 의해 작성되었습니다.



모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.

첨부

profile
이정민82 2015.11.25 18:35

감사합니다.

profile
바로바로 2015.12.24 16:56

잘 봤어요 감사합니다.

profile
솔짱 2016.01.06 10:12

잘 정리하셨내요!

 

잘 봤읍니다.

profile
바보토끼 2016.05.28 12:08

좋은글 감사합니다!

profile
yong 2016.05.30 16:15

내용이 쉽게 이해됩니다.

profile
Richoon 2016.05.31 11:10

좋은 정보 감사합니다.

profile
왕청 2016.06.01 13:12

좋은 정보 잘 배웁니다.

profile
왕청 2016.06.02 11:06

좋은 정보 감사합니다.

profile
킹또 2016.06.08 17:26

좋은 정보 감사합니다 펌웨어에 대하여 어떻게 공부할지 방향을 잡은것 같습니다.

profile
에노스 2016.06.08 20:46

감사합니다.

profile
CF치리 2016.06.10 11:22

펌웨어 이해 완료!! 감사합니다.^^

profile
면봉 2016.06.10 18:50

좋은 글 감사합니다.

profile
전류가머에요 2016.06.14 10:26

감사합니다.

profile
slykid 2016.06.17 01:31

좋은 정보 감사합니다~

profile
선빈이2 2016.06.17 16:49

굿굿

profile
작은배려 2016.07.04 10:37

감사합니다.

profile
홍합스프 2016.07.06 12:58

좋은 정보 감사해요!

profile
부대졸업 2016.07.07 10:58

열정이 타오릅니다~~!

profile
하룽하룽 2016.07.14 22:29

감사 합니다.

profile
마크허 2016.07.15 09:33

드디어 어느정도 이해가 되네요 감사합니다

profile
직장인 2016.07.21 08:59

감사합니다.

profile
벙거지 2016.07.22 13:47

좋은정보 감사합니다...

 

profile
무한계륵 2016.07.22 14:23

좋은 정보입니다. 감사합니다!

profile
로하스14 2016.07.25 09:53

좋은 정보 감사합니다

profile
edwinyum 2016.08.02 08:43

감사 합니다.

profile
회사간공대생 2016.08.04 15:16

좋은 정보 감사합니다.

profile
태경유리아빠 2016.08.08 16:07

잘 봤습니다.

profile
JIN_늘 2016.08.10 14:43

두 가지 관점 새로운 사고를 할 수 있는 계기였습니다..

profile
delse1 2016.08.16 22:06

이런 것이 있다는 것이 신기합니다.

profile
숀리 2016.08.21 21:37

감사합니당

profile
홍대용 2016.08.24 10:36

잘 봤습니다. 감사합니당

profile
퐈리 2016.08.31 13:41

감사합니다.

profile
청산유수 2016.08.31 18:06

좋은 글 감사 합니다.

profile
청산유수 2016.09.01 17:51

후후 잘 보았습니다.

profile
쿠우중독 2016.09.11 02:27

잘봤습니다

profile
도고리 2016.09.20 17:29

좋아요.

profile
대두코쟁이 2016.09.23 09:40

잘봤습니다~

profile
성자 2016.09.28 23:11

와 감사합니다. 배워가네요

profile
개개초보 2016.09.29 10:55

감사합니다.

profile
어금늬 2016.10.04 16:15

펌웨어 개념 정리 감사합니다!

profile
비타민큐 2016.10.04 19:47

다시 한번 개념 정리 했습니다 좋은 자료 감사합니다.

profile
JJason 2016.10.07 23:04

감사합니다.

profile
JJason 2016.10.07 23:10

좋은 내용 감사합니다.

profile
CONY 2016.10.13 18:33

잘 봤습니다^^

profile
초오보 2016.10.16 20:25

감사합니다.

profile
Arbeiter 2016.11.01 03:23

감사합니다.

profile
atmega128888 2016.11.02 10:08

감사합니다

 

profile
친구2 2016.11.02 19:01

잘 보았습니다. 감사합니다.

profile
친구2 2016.11.03 22:09

잘 배웠습니다 감사합니다.

profile
이린 2016.11.05 11:27

감사합니다 개념을 찾는중이었는데 도움이 된 것 같습니다.

search

연재강좌(하드웨어 엔지니어 되기) : (12)
전자 하드웨어 기초 : (14)
8051 어셈블리 강좌(by 허인교수님) : (7)
■ 제3장. 명령어 2019-04-17 14:58
AVR 기반의 라인트레이서(by 아크마) : (9)
용어도 모르겠어요 : (15)
■ 8051이란? 2019-04-17 00:17
■ 아트워크 기초 2019-04-17 14:40
■ MCU 기초 2019-12-19 10:58
■ 펌웨어 기초 2019-04-17 14:44
■ 납땜하기 2019-07-26 09:49
하드웨어 일반 : (15)
■ ASCII Table 2019-04-17 14:19
PCB설계와 제조의 이해 : (7)
■ CAD-Utility 2021-09-02 13:41
EMC 적합성을 고려한 PCB설계 : (43)
PCB의 기초 : (14)
바이패싱과 디커플링 : (9)
ESD 보호 : (3)
■ ESD 보호 - 개요 2017-06-22 10:24
클럭회로 : (17)
PCB 자주 묻는 질문 : (1)
Altium 사용하기 : (6)
ETC
  • 언제까지고 계속되는 불행은 없다. 가만히 견디고 참든지 용기를 내쫓아 버리든지 이 둘 중의 한 가지 방법을 택해야 한다.
    - 로망 롤랑
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.