펌웨어 엔지니어가 되려면...

한세희의 이미지

펌웨어쪽으로 공부해보려 합니다..

현데 C공부하다가 C++로 넘어갔구요

펌웨어 쪽으로 공부 하고싶은데

가이드라인을 어떻게 잡아야 할지 모르겠습니다.

기본적으로 익혀야할것들을 알고 계신분 조언을 부탁드립니다.

현제 대학교2학년 마친상태고 이제3 학년올라갑니다 :)

현제 이수한 과목은 C/JAVA/자료구조/프로그래밍언어론 정도인데

C/자료구조 정도만 필요할꺼 같은데 맞나요?

bus710의 이미지

실제 제작 업무를 위해 땜이나 캐드도 잘하셔야할 것 같습니다...

life is only one time

지아의 이미지


저는 펌웨어에 가까운 임베디드쪽이라
제 기준에서 말씀드리면 회로도도 살짝 볼 수 있어야 하구요

기본적인 통신이론도 알아두면 도움이 되겠죠.
디바이스 드라이버 만드는 일도 종종 있으니
최소한 오실로스코프 사용도 익숙하면 좋구요.

저는 UI 때문에 그래픽쪽도 살짝 봤는데
수학 공식에 압박으로 거의 포기..;;;

#kill -9 world

sleepbysleep의 이미지

..zzZz..zZZZzz...

klenui의 이미지

저도 임베디드 쪽인데, 윗분과 비슷한 이야기입니다만...
제 경험에 비추어보면..

일단 임베디드 관련 해서는..
전자회로 마스터..많이들 보는 Sedra의 책정도면 되겠습니다.. 제대로 이해하시면 두고두고 도움될 겁니다..
요즘은 반도체나 RF에 대한 지식도 있으면 좋습니다..실무에서 발열이나 회로 간섭등을 잡는데 도움이 됩니다..
마음에드는 CPU를 하나 정해서..
x86계열이나-80386,80196, ARM계열이나-SC2410,Dragonbol MX, 68K 계열-dragonbol SZ,VZ 등이 있습니다만(엄청많지요..)
제 생각에는 초보자에게는 ATMEL AVR계열이 딱입니다.
Sepc이 장난감 수준이긴 합니다만, 싸고 납땜도 전원만 해주면 됩니다. RAM, Flash, EEPROM, Timer 다 내장입니다. 심지어 clock도 내장입니다..
AVR용 OS도 소스가 공개되어 있는 것 많습니다. Spec이 딸려서 linux같은 큰 OS는 못올립니다.
일단 CPU를 정하고 application note를 보고 회로를 만들고 download에 성공했다면...
그다음부터 추가해볼 기능 정하고(리모콘, MP3, 거리측정기, RF송수신기), Datasheet보고.. 디버깅하고.. 날새고.. 머리 쥐어뜯고..의 나날이 되겠습니다..
그다음엔 좀 고사양의 CPU로 넘어가야지요.
spec이 올라가면 새로운 개념들이 등장하기 시작합니다. DRAM, DMA, Bluetooth등인데 의미는 아시겠지만 그걸로 뭔가를 만드는 건 또다른 이야기입니다.
또, 이제까지의 chip vendor에 대한 신뢰가 무너지기 시작합니다. 어 아무리해도 안되잖아..그러다 한참 인터넷 뒤져보면 그 칩에는 이런 버그 있으니 이렇게 피해가라는 정보를 얻을 수 있습니다.

펌웨어라면 제 생각에는.. 펌웨어쪽일은 안해봐서 잘 모르겠지만요.. 그래도 제가 아는 선에서 적어보면..
일단 기본 embedded지식이 있는 상황에서 개발 플랫폼을 선정을 해야겠지요...
요즘은 ARM계열이 유행이니 SC2410같은 걸 교육용으로 많이 쓰는 모양입니다만.. 납땜하긴 좀 일도 많고 회로 안정성 문제도 있어서 개발 kit를 사서 개발하곤 합니다만 좀 비쌉니다.
아니면 오래된 pc를 구하시고.. 3.5인치 디스켓으로 monitor만 load하셔서 시리얼로 다른 디버깅 PC에 연결해서 작업할수도 있습니다.. 학생분이시면 후자쪽이 좋겠네요..
그리고 PC내부에 관한 책과(제가 공부할때는 undocumented pc 뭐 이런 책 봤습니다만, 요즘은 다른 좋은 책도 많이 나오는 것 같습니다.)
OS관련 책보시면서(저는 OS제작의 정석 같은 책을봤고 요즘 다시 보고 있습니다.)
이것저것 해보시면 도움이 될것이라 생각합니다.
학생때 제가 산 8051책의 부록에는 8051용 pcb와 회로도가 있었는데, 납땜해서 PC에 꽂으면(IDE) PC에서 보드에 명령을 보낼수는 예제가 있었습니다.
요즘에도 그런책이 있다면 그런 것도 도움이 되지 않을까 생각합니다.

익명 사용자의 이미지

책을 구할수 없는데

부록 cd라도 구할수 있을까요

요즘 홈페이지에서도 소스를 막아놨던데요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.