일반 임베디드 프로그램을 공부하고 싶습니다.
2007.12.21 19:24
강좌 & 팁 EZ-보드 그래픽 & 멀티미디어 네트워크 프로그래밍 디바이스 드라이버 ImJa 솔루션 임베디드 FLEX 안드로이드 iOS 개발 FAIDE 하드웨어 C/C++ go언어 GNU C 레퍼런스 메뉴얼 ARM 루아 응용 프로젝트 이클립스 지그비 개발자 노트 권장도서 FPGA
|
2007.12.21 19:24
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 포럼의 메뉴가 보이지 않아요! | 장길석 | 2014.02.06 | 957655 |
| 공지 | [중요 공지]제품 사용 및 기술 문의는 전화 상담을 받지 않습니다. | 장길석 | 2012.11.09 | 1408549 |
| 공지 | 답글에 대한 공지 사항. | falinux | 2006.11.20 | 2424042 |
| 15341 | [특판][성Y인Y용Y품][비아][시알][여성흥분제] 전부 1+1 vv8282.top 지금 확인해보세요~! | dde33 | 2026.10.15 | 2 |
| 15340 | 요즘 잘 나가는,,, | dde33 | 2026.09.12 | 844 |
| 15339 | buildroot 사용 관련 | 로즈마리 | 2021.02.01 | 38166 |
| 15338 | GPIO 제어 방법 문의 [1] | 단순최고 | 2021.01.25 | 51084 |
| 15337 | 임베디드 리눅스 개발 보드 추천 | nam | 2019.12.06 | 48864 |
| 15336 | make wandboard_quad 실행시 문제 | gasi | 2019.08.27 | 47084 |
| 15335 | LCD 초기화 코드 좀 봐주세요 [1] | 김용수 | 2019.07.12 | 63136 |
| 15334 | 임베디드 리눅스 커널 소스에 관해 질문드립니다 ! | ekthatkxkd | 2019.06.28 | 43728 |
| 15333 | numpy,scipy 를 arm-linux-XXXX 로 크로스컴파일 하여 올릴수 있나요? | 초보자 | 2019.06.24 | 49287 |
| 15332 | I2C - deal with arbitration loss 오류가 궁금합니다. [1] | S1eepingBeauty | 2018.12.10 | 56771 |
| 15331 |
구형 EM-PXA270 보드 혹시 보유하시분 연락 주시면 감사드릴께요.
| 존 | 2018.11.24 | 42753 |
| 15330 | 리눅스 GPIO 관련 센서의 단선 또는 고장유무 판별법이 궁금합니다. [2] | S1eepingBeauty | 2018.11.12 | 55126 |
| 15329 | 임베디드 리눅스에서 c 언어 디버깅 궁금합니다. [1] | 존 | 2018.09.14 | 47072 |
| 15328 | 부팅 시간 문의 [1] | nam | 2018.06.29 | 45794 |
| 15327 | localport? port? | 검은고래 | 2018.06.29 | 39960 |
| 15326 | fork()의 thread 멈추는 현상 [4] | HwangRoy | 2018.05.09 | 58615 |
| 15325 | 임베디드 리눅스 습득용 보드 판매하시나요? | 임베디드초급자 | 2018.04.27 | 39719 |
| 15324 | (도와주세요)네트워크 디바이스 드라이버 수정문제입니다. [1] | Chanmini | 2018.03.04 | 43600 |
| 15323 | Ez x5 구합니다!! | khobaik | 2018.01.26 | 38317 |
| 15322 | 실행중 symbol not found 를 발생시키는 u-boot 본적 있으신가요 ? | sayyouandme | 2017.12.17 | 57349 |
임베디드 시스템에 입문하시나요? 그렇다면 잘 오셨습니다. ^^
저도 시작한 지 얼마 안되서 함께 학습하시면 좋겠습니다.
효과적인 학습은 개인마다 차이가 있을 것 같아서 우선 제 경험을 말씀드리겠습니다.
저는 이미 소프트웨어 개발 경력이 있고, C 뿐만 아니라 다른 언어를 많이 사용해 왔습니다.
그러므로 C 언어와 프로그래밍에 대해서는 어느 정도 지식이 쌓인 상태입니다.
그러나 C 언어에 대해 잘 안다고 해도 임베디드 시스템에 대한 학업 성취도를 말하기는
어렵다고 생각합니다.
물론 프로그램을 작성하기 위한 언어를 잘 알아야 하는 것은 당연하지만
그에 못지 않게 그 시스템의 기본 바탕인 OS, 즉 리눅스에 대해 이해를 하셔야 하며,
주로 사용하시는 OS만큼은 아니더라도 리눅스와 친숙하셔야 겠습니다.
제가 만든 프로그램이 바로 리눅스 위에서 실행되니까 말이죠. ^^
보통 쉽게 생각하시는 것이 단계적인 학습입니다.
먼저 C 언어를 학습하고, 그 다음에는 리눅스를 학습하고,
리눅스에 대해서 좀 알게되면 최종적으로 임베디드 보드를 구매해서
임베디드 보드에서 프로그램을 작성한다라고 생각하시는 경우가 있습니다.
경험으로도 이렇게 생각하시는 분들이 의외로 많습니다.
그러나 이렇게 하시면 지루하고 재미 없습니다.
대부분 C 언어를 학습하다가 중도에 포기하시죠. ^^
제 생각에는 병행하시기를 권합니다.
즉, 리눅스를 직접 설치하시고 윈도즈나 다른 OS와이 네트워크 연결을 해 보시면서
네트워크에 대한 이해와 환경 설정에 친숙해 지시고,
직접 리눅스에서 프로그래밍 하시면서 C 언어를 학습하시면
자연스럽게 리눅스와 친숙해 집니다.
물론 무지 답답하고 학습 진척이 더딘듯 합니다만 점점 가속도가 붙습니다.
답답하게만 느꼈던 쉘 명령도 손에 익어가구요.
그리고 에러로 꽉찾던 프로그램을 하나씩 에러와 경고를 없애고
드디어 실행되는 프로그램을 작성하셨다면
꼭 임베디드 보드에 옮겨서 실행해 보십시오.
임베디드 보드를 한 마디로 말씀드린다면 "매우 열악한 시스템"입니다.
환경이 매우 좋은 PC와는 비교하기 힘들 정도로
임베디드 보드는 기본적으로 CPU의 속도와 메모리 용량 및 기타 리소스 면에서
매우 열악합니다.
태생적으로 임베디스 시스템은 원래 이런 열악한 환경에서
자신의 임무를 꿋꿋이 수행할 수 있도록 만들어진 것입니다.
그러므로 PC하고는 또 다른 문제점을 만나실 수 있고,
그 문제점을 해결하다 보면 임베디드 시스템에 대한 이해와 경험을 높일 수 있습니다.
또한 임베디드 보드에서 프로그램을 실행 시켜놓고
잘 돌아 가는 모습을 보면 학습 성취도와 학구열을 높일 수 있습니다.
말이 어쩌다 보니 길어 졌네요. 모쪼록 도움이 되는 글이었으면 좋겠습니다. ^^