어떤 공부부터 시작해야 될지 모르겠어요?
뭘 알아야 이해를 하지
임베디드 시스템 분야에는 공부해야 될 것들이 정말 많이 있죠. 모든걸 단기간에 끝낼 수도 없고 그렇다고 수박겉핥기처럼 할 수도 없구…
무엇보다도 어떤 공부부터 시작해야 될지 될지 모르겠죠?
우선 임베디드 시스템 분야를 3가지로 나누어 볼게요. 그리고 개인적인 성향에 대해서도 3가지로 나누어 볼게요.
이 세가지 기준들을 보면서 자기 자신이 재미있어 하는 부분을 먼저 시작하면서 공부 순서를 정하면 되지 않을까 싶어요.
누구나 똑 같은 순서대로 공부할 필요가 없다고 봐요.
우선 임베디드 시스템 분야를 크게 3가지로 나누어 볼께요.
1 하드웨어 개발(Hardware): 우리가 가지고 있는 휴대폰을 예로 든다면 과연 하드웨어 개발이라고 하면 무엇을 말할까요? 우선 핸드폰에는 시피유(CPU), 메모리(Memory), 엘시디(LCD), 터치(Touch), 자판(Keypad)이 있어서 문자도 보낼 수도 있죠.
말 그대로 휴대폰을 구성하는 장치들을 말해요. 휴대폰이라는 기본적인 기능은 비슷하지만 회사마다 기능과 성능의 차이가 있어 어떻게 하드웨어를 구성해야 될지에 대해 항상 연구를 하드웨어 엔지니어가 한답니다.
2 펌웨어(Firmware): 하드웨어 개발이 끝난 상태로 펌웨어(Firmware) 엔지니어에게 전달이 되면 제일 먼저 휴대폰 메모리에 프로그램을 내장시켜서 휴대폰의 메인 화면이 엘시디(LCD)에 나오게 만들는 일을 하죠. 쬐금 과장되게 비유를 하면 전자기기에 생명을 불어 넣는 일이라고 할까요! 후후. 그것 말고도 소리, 자판, 카메라, 동영상 등등 프로그램을 만들어서 잘 동작하도록 만들어야겠죠. 이러한 과정을 흔히 포팅 한다고 이야기 합니다. 정말 중요한 일이겠죠.
3 어플리케이션: 이제 휴대폰 화면이 나오고 터치도 되니 본격적인 프로그램을 만들어야 겠죠. 사진을 찍기 위한 프로그램, 찍은 사진을 편집하는 프로그램, 동영상 찍는 프로그램, 영상메시지 전송 프로그램, 인터넷 웹 서핑을 위해 브라우저도 만들고......
아~~ 음악은 필수죠. 음악 프로그램도 만들고!! 휴~~ 정말 할 일이 많네요.
제가 이렇게 3개로 구분해 놓은 이유는 학교를 졸업하고 회사에 취업을 하면, 개발부서가 대부분 하드웨어 개발부, 펌웨어 개발부, 응용소프트웨어 개발부가 있답니다. 회사 규모에 따라 3개의 개발부서가 모두 있는 회사가 있고, 하드웨어만 담당하는 업체, 펌웨어 즉 포팅을 전문적으로 해 주는 회사, 순수하게 응용 프로그램만 만드는 회사들도 있답니다.
여기서 개인적인 성향에 따라 또 3가지로 구분을 해 볼게요.
1 전기전자 특성을 잘 알고 전자기기를 다루는 것이 정말 재미있다. 회로도를 잘 그리고 각각의 반도체 특성을 잘 이해하고 있다. 씨언어로 기본적인 프로그램은 할 수 있다.
2 전기전자 특성은 조금 알고 전자기기 제어 프로그램이 재미가 있다. 특히 내가 만든 프로그램으로 로봇이 움직이고, 내가 원하는 데로 조절하는 것이 재미있다.
3 전기전자는 잘 모르나 제어 프로그램 보다 윈도우 프로그램과 같은 프로그램 만드는 것이 재미 있다. 윈도우에서 실행되는 메신저 프로그램, 그림 편집 프로그램, 게임 개발 등 이러한 프로그램 만드는 것이 재미 있다.
우선 씨(C)언어는 기본입니다 그리고 나머지는 자신의 우선순위에 맞게 정하시면 되요. 한꺼번에 모든걸 할 수 없으니 차근차근 계획을 세워가며 시작해 보는 것이 좋을 것 같아요.
Written by Soto
댓글