임베디드.....?

한세희의 이미지

임베디드 소프트웨어를 공부하기위해서 어떤 기초지식이

필요한가요..c/c++/api/mfc

다필요한가요?

SoftOn의 이미지

댓글을 쓸려고 하는데 참 막연하네요;;

짧은 질문을 몇번 읽고 댓글 달려고 해도 제가 질문을 잘 이해 못하겠습니다.

제가 공부하는게 스키메틱 그리고 pcb 아트웍하고 납땜해서 그 위에 드라이버 작성하는 정도인데;;
이걸 뭐라고하는 지도 잘 모르겠습니다.

임베디드 소프트웨어(또는 임베디드 하드웨어)가 어디까지인가요?

// 간단하게 답변하자면
임베디드 시스템에 가장 많이 쓰이는 언어는 c 입니다;; 공부하면 당연히 좋습니다.
c보다는 c++이 드라이버 위에 응용 프로그램에 쓰면 좋겠죠;;
api라 함은?? Application Program Interface입니다. 엄청나게 많은 종류가 있습니다;; 질문의 의도는 아마 win32 api를 예기하는시는 것 같은데 wince 계열 공부할꺼면 그것에 맞는 api를 공부하시면 됩니다.
mfc 필요 없습니다..

Necromancer의 이미지

시스템에 따라 다릅니다.

님이 나가는 방향이 임베디드장치에 들어갈 디바이스를 직접제작하는 위치라면
c는 물론이고, 어셈블리와 하드웨어지식(논리회로)이 요구됩니다.
디바이스 드라이버 개발자 요구사항에 준하는 요구죠.

하지만 임베디드 어플을 만든다면 c나 c++이면 충분하다고 봅니다.
임베디드리눅스라면 C언어와 유닉스 프로그래밍 환경에 익숙해지는것이 필요합니다.
나머지 UI관련 부분은 하드웨어 벤더에서 제공하는 라이브러리 문서를 쳐다보면 됩니다.
(라이브러리는 하드웨어 벤더마다 다 틀리니 거기에 맞게 해줘야 하죠.)

wince 프로그래밍을 하신다면 wince용 mfc 있습니다.
그리고 wince api는 win32 api의 기능을 모두 지원하지 않으므로 그걸 감안하셔야 하고요.

임베디드리눅스나 wince가 아닌 다른 상용 RTOS를 이용하는 경우도 있습니다.
이경우는 벤더사 문서를 파 보는거 외는 방법 없습니다.

Written By the Black Knight of Destruction

강운석의 이미지

Rex, WindowsCE, Linux, Symbian, Nucleus 대표적인것 5가지라고 하던데..
WindowsCE랑 Linux는 비교적 특성을 알겠는데, 나머지것들은 문외하네요.
고수님께서 비교분석(장,단점) 좀 해주시면 완전 감사하겠습니다.

익명사용자의 이미지

그리고,! 퀄컴사에서 사용하는 OS가 위다섯가지 항목안에 포함되나요?!

익명사용자의 이미지

REX가 퀄컴에서 사용하는 OS(?)입니다.
하지만 퀄컴에서도 이제 L4커널로 옮겨간다는 얘기가 있는거 같더군요.

bestyt의 이미지

앞으로 Embeded공부하실려면
Linux, 심비안, WinCE 이 셋중에서 하나 골라서 공부하세요.
(대세는 linux)

보다폰에서 2008년 이후엔 위 3개의 OS아니면 받질 않는다고 하네요.
또한 퀄컴사에서도 7xxx시리즈서부턴 linux OS를 사용합니다.(참고로 6xxx시리즈에선 rex를 사용했었죠)

linux는 embeded linux(+ embeded qt)
winCE는 win32 api
심비안은...^^;;

winner의 이미지

WinCE 랑 Linux 는 RTOS 라고 하기에는 약하고...
제가 알기로는 rex 가 RTOS 였는데...

ballon8016의 이미지

개인적으론 architecture에 대한 이해가 많이 필요하다고 봅니다.
요즘 대세는 ARM이죠.. 다른건 윗분들이 말씀해주셨으니깐 굳이 말씀을 드리지 않아도 될테구요..^^
열공하세요~

꿈을 이룰수 있는 사람은 오직 꿈을 갖는 자만이다....

anfl의 이미지

각각 나누어 보면 다음과 같은 지식이 필요할것 같습니다.

language : C, ASM (C++도 알면 좋은데 필수 사항은 아닌것 같군요.)
processor : ARM... 정도 (거의 대부분 ARM을 사용하기 때문에 ARM만 알아도 됩니다. 대신 제대로 알아야겠죠. ARM과 더불어서 DSP 칩하나 정도 알아두면 좋습니다. 그렇지만 ARM도 모를때는 ARM부터...)
OS : linux kernel, wince 중 택1, RTOS 하나 정도. (linux를 알면 굳이 wince를 할 필요는 없습니다. linux 또는 wince중 하나를 선택해서 집중적으로 파시면 될것 같네요. RTOS는 uC/OS-II 정도만 알면 적당할것 같습니다.)

일단 처음에는 이렇게 가볍게 시작하시고, 나중에 OS, compiler, processor architecture를 집중적으로 파시면 될것 같습니다.

심비안 OS는 우리가 일반적으로 말하는 RTOS와는 좀 틀린것 같습니다.
사실 RTOS라는 개념 자체가 좀 모호하죠. real-time성이란게 상대적인 개념이다보니
application이 요구하는 real-time성만 보장 한다면 RTOS라고 볼수가 있죠.
그래서 대부분의 상용 RTOS들은 최대한 real-time성을 보장 하고자 디자인되는데 반해
심비안 OS는 그렇지는 않은것 같군요.


angpang27의 이미지

우리나라에도 RTOS가 있군요. MDS테크의 NEOS라구..
이 RTOS는 별볼일 없나요?!
TRACE32라고 JTAG디버거는 세계시장 점유율 1위던데..

이회사에 관심이 많아서요..
이회사에대해 잘아시는분 RTOS관련해서 구체적인 description좀 부탁드릴께요.

고통이 지천에 있다한들 어이해 멈출수있더냐

anfl의 이미지

개인적으로 MDS 테크놀로지의 Velos RTOS를 만든 사람을 알고 있습니다.
작년에 같이 일했었고, 지금은 옆 사무실에 계시네요. jkpark이라고..
Velos가 결국 NEOS로 개명된걸로 알고 있습니다.

별볼일이라.. 대략적으로 NEOS가 어떤 형태를 띄고 있다는 이야기는 들었지만
실질적인 source code는 보지 못했네요.
대략적으로 들은 바에의하면
POSIX API, component based architecture, BSD socket, PCP, thread model task등이 있을것 같네요.

거의 대부분의 RTOS는 제공 기능이나 성능이 비슷비슷합니다.
RTOS 기술이 워낙 보편화되었고, 공개되어 있다 보니 잘 만들었을수록 비슷하게 가는거지요.
특수 목적으로 사용되는 RTOS나, 혹은 개발 철학에 의해 조금씩 틀릴수는 있습니다.
하지만 타겟이 비슷하면 비슷한 모양으로 가지요.

때문에 별볼일이라고 할만한 요소가 별로 없습니다.
딱 한가지가 있는데 그것은 바로 시장 점유율입니다.
현재 NEOS는 아직 시장 점유율이 높지 않은 것으로 알고 있습니다.
그렇다고 NEOS가 별볼일 없다는 소리는 아닙니다.
현재는 시장 점유율이 낮지만 앞으로 어떻게 될지는 모르죠.

객관적으로 보았을때 기능면이나 OS 철학적인 면에서
잘 만든 OS중의 하나라고 생각합니다.


댓글 달기

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