컴공 3학년 임베디드시스템 입문 조언부탁드립니다

코다두의 이미지

안녕하세요 저는 24살 서울 소재 대학의 컴공학도 3학년이고

학교 수업에 대한 개인적인 실망이 커서 학교를 쉬고 반년정도 아버지 회사에서 일을 하고, 배우고 있습니다

저는 기본적으로 C와 자바를 알고있는 상태이지만

전기/전자에 대한것은 거의 아무것도 모르는 수준이었습니다

회사에서 외국인 엔지니어와 함께 주로 stm32와 같은 avr쪽의 MCU와, 아두이노를 다루었고

그럼으로서 영어를 상당히 익히고, MCU의 데이터시트를 읽는 방법과 MCU의 여러 컴포넌트에 대한 것들을 알게 되었습니다.

그리하여 IAR 예시코드나 오픈 소스 코드를 제법 따라하거나 응용할 수 있게되었고

ESP8266, ESP32 이라는 것으로 무선 통신(WIFI,BLE) 으로 전압값을 받아온다거나, 그것과 안드로이드와 서로 통신하는 것들을 만들어보았습니다

하지만 역시 시간이 지나자 이론적인 한계가 들어나더군요. 특히 여전히 하드웨어, 회로쪽 지식이 거의 없는 상태에서

그저 MCU 내부를 조금 건드리는 것만으로는 할 수 있는게 별로 없다는 것을 깨달았습니다

그래서 이제 몇개월동안은 이론적인 학습, 특히 하드웨어쪽 이론 공부에 다시 매진하고자 하는데

전기/전자 입문서와 '임베디드레시피'라고 하는 책 정도를 공부해볼까 합니다만

고수분들께서 혹시 추천하시는 학습순서나 괜찬은 방법같은게 있다면 조언부탁드립니다.

goforit의 이미지

학교 복학하면 전자공학과 가서 수업을 몇개 들으세요. 회로이론, 전자공학 등..
그 정도면 임베디드 엔지니어 하기에 충분합니다.

AustinKim의 이미지

임베디드 시스템 개발 분야는 크게 3가지로 분류할 수 있는 것 같은데요.
- 펌웨어(Firmware)
; '코다두' 님이 연마하시는 MCU에서 데이터 시트를 읽고 여러 콤퍼넌트를 제어
; 보통 RTOS 분야 초점을 맞춤

- 디바이스 드라이버
; 윈도우나 리눅스 디바이스 드라이버를 작성하고 하드웨어를 제어
; 범용 운영체제에 주로 적용(안드로이드, 라즈베리 파이, 오드로이드)

- 응용 시스템 프로그래밍
; 시스템 프로그래밍으로 하드웨어를 제어함
; RTOS+범용 운영체제 전반에 활용이 가능함

펌웨어(Firmware) 분야가 너무 좋아서 공부나 개발에 몰입하시는 것이라면 특별히 드릴 말씀이 없습니다.
자신이 좋아해서 집중하고 몰두할 수 있는 개발 분야가 가장 좋긴 하거든요.

하지만 졸업 후 취업이나 전망을 생각하신다면 '디바이스 드라이버'나 '응용 시스템 프로그래밍'분야에도 투자하셔도 좋을 것 같습니다.
펌웨어(Firmware) 분야는 생각보다 취업의 문이 좁거든요.

임베디드 프로그램을 잘하기 위해서 하드웨어를 익히고 싶으시면 '임베디드 레시피' 1장만 제대로 공부하셔도 충분할 것 같습니다. 물론 학교 수업을 들으시면 더욱 좋구요.
물론 하드웨어 설계 분야를 생각하신다면 하드웨어를 더 깊게 파시면 될 것 같습니다.

(개인블로그)
http://rousalome.egloos.com