[완료]embedded 시스템 개발 전에 뭘 배우는게 좋을까요?

네글자군의 이미지

엠베디드 시스템에 도전하려고 합니다 :)

그 전에 배워야 할 것들 ( 예) 어셈블리 같은것)들도 알려주심 감사하고

입문서도 추천해 주세요 ^^

rhheo의 이미지

아무래도 하드웨어 장치에 심어야 하는 프로그램인 만큼

1.하드웨어에 대한 기본적인 이해와 2.하드웨어제어 프로그래밍
기술이 필요하시지 않으실까요?
요즘 하드웨어 사양이 높아져서 축소판 OS를 그대로 넣는 경우가 많으니깐
실무에서 사용할 수 있을 정도의 3.OS지식도 필요할 것 같습니다.

만약 저라면 길게 보고 기본부터 쌓겠습니다.
기본지식은 50년전이나 앞으로 50년 후나 변하지 않는 것인 만큼
투자할 가치가 있죠.

최대한 짧게
1.하드웨어 : 논리설계 -> 컴퓨터구조
2.프로그래밍 : C언어, C++
3.linux, windows ce등 os지식

을 공부하면서 실습도 해보고
모르는 것이 나오면 닥치는 대로 습득하면서 능력을 기르시는 것이 왕도(?)라고 생각합니다.

사람마다 스탈이란 것도 있고 놓여진 상황도 다르니깐
주위사람들에게서 도움도 받아가면서
자신의 길은 자기 자신이 닦으면서 나아가야겠죠.

ps. 허접한 답변 죄송합니다.

freestyle의 이미지

음... 일단 링크부터 걸어봅니다.

[컬럼] 초보자를 위한 임베디드 리눅스 학습 가이드
http://coffeenix.net/doc/develop/embedded_guide-v1_1_.html

임베디드 시스템 엔지니어를 위한 리눅스 커널 분석
http://kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/

도서는 IT Expert '임베디드 리눅스'(박재호 저)가 괜찮았습니다.

일단 임베디드라는 것이 화성탐사 로봇부터 핸드폰까지 매우 분야가 다양해서
뭐를 하면 된다... 라고 꼬집어 말할 수 없습니다.

또한 실무에서는 하드웨어와 소프트웨어 파트가 구분되어 있고, 그 중에서도
각자 맡은 파트만 하는 경우가 많습니다(통신 모듈, 영상처리 모듈, ...).

결론은 '왕도도 없고, 가이드라인도 없다'는 것입니다.

제 답변들이 다 그러하듯이, 베이스가 튼튼해야 한다는 것입니다.

언어 : 임베디드에서 가장 많이 사용되는 것이 c/c++, assembly입니다.
CPU와 하드웨어와 친구 먹으려면 assembly를 아셔야 합니다.
앞으로는 자바가 대세라고 하더군요. 저는 동의하지 않지만.
하드웨어 : 컴퓨터 구조를 보면 램, CPU, 버스, 메인보드, 파워, CMOS 등 부품이 있는데
이것들이 왜 있어야 하고 어떤 원리로 만들어지는지 알아야 합니다.
자료구조, 알고리즘 : 하드웨어에 가깝든, 사용자에 가깝든, 자료구조와 알고리즘은 빠질 수 없는 부분입니다.
PC에서 기본적으로 사용되는 것부터, 보통 최적화와 안정성을 추구한 알고리즘까지
공부하셔야 합니다.

------------------------------
Go to the U-City

----------------------------------------------------------------------------------------
Don't Feed the Trolls!
----------------------------------------------------------------------------------------

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.