임베디드에 대해 공부하고 싶은데요...

shs0917의 이미지

저는 현재 학부 3학년이구요..^^
에구구.. 이곳에 글 올려본지도 정말 오랜만인듯..
예전부터 임베디드에 굉장한 매력을 느끼고 있었는데..
막상 공부하려니 만만치가 않더라고요..^^
책만으로는 한계도 있고... 깡통부터 시작해야 되는 난감함..
하드웨어라는게 엄청난 벽이더라구요..ㅠ.ㅠ
저는 특정한 목적에 맞는 간단한 커널을 구현하고(구현이라지만
계획으로는 리눅스 커널 옵티마이징이 더 맞을지도...)
제가 원하는 기능을 담아서... 뭔가를 하나 만들고 싶은데..
그 개발용 툴킷도 없고.. 지식도 너무 없고..
저는 대구에 사는데.. 혹시 이쪽으로 공부하시는 분 없으신지요..
도움을 받고 싶어요...^^ 이쁜말로 공동연구라고들 하던데..
그런걸 한번 해보고 싶네요..^^ 괜찮은 해결책이 없을까요?

jachin의 이미지

저도 공부는 하고 싶은데, 다른 일들도 해야 하고...

이럴 때는 많이 답답합니다만, 어쩔 수 없네요...

하드웨어라는게 엄청난 벽은 안되리라 생각됩니다.

요즘엔 많은 타겟 보드가 나와서 일단 임베디드 리눅스를

포팅하거나 운영하는 것만 해보셔도 반은 성공하실 것 같은데요...

저 같은 경우는 ARM 코어를 적재한 FPGA Kit가 연구실에 있어서,

조만간 그것으로 쪼물락 쪼물락 거릴것 같습니다.

OS에 대해서 체계적으로 다시 공부하고 싶어지네요... ( ' ')a

(덧붙여서 GNU Assembler랑, GCC도 같이 공부를... 쿨럭... >o< =3 )

hb_kim의 이미지

요샌 임베디드라는 환경이 데스크탑 환경과 아주 크게 다를게 없는 상황까지 변해있습니다. 불과 몇년전과 지금을 비교해도 이런것을 느끼실겁니다. 아마 원하시는 공부 다 하시고 졸업하실때쯤에는 이런 상황이 더욱 심화될겁니다.

지금에야 '임베디드 보드에 포팅', '크로스 컴파일러' 'ARM' 이런 이야기도 나오지만 이런 기술들도 지금도 그렇지만 몇년후에는 더욱 commodity 화 될겁니다. 무엇인가를 구현하고자 하는 아이디어가 있다면 데스크탑에서 프로토타입을 만들어서 검증해볼수 있습니다. 그리고 종국에는 그 아이디어가 얼마나 유용하냐가 중요하지 그 아이디어를 임베디드화 하는것은 그다지 비싸지도 않고 어렵지도 않습니다. 그런 단계의 일은 당장 돈을 벌어야 되서 그 일을 해야 하는 직장인들한테 맡겨놓아도 된다고 봅니다.

제가 지금 대학 3학년이라면 좀더 다양한 방면에서 원론적인 공부를 해볼것 같습니다. 대수학 같은것도 공부해보고, 불어같은것도 제2 외국어로 공부해보고 그런것 말입니다. 물론 영어와 학점은 기본적으로 관리가 되어야겠죠. 정히 그러고도 시간이 남으면 학원강사나 세일즈 같은 아르바이트로 돈을 벌겠습니다.

valor의 이미지

이 방면에 나와서 5년 가까이 일하면서 드는 생각이...

제가 만약 대학교3학년으로 돌아갈 수 있다면
고시 준비를 하거나 의대 편입 준비(혹은 수능 준비)를 할 것 같다는 생각이 듭니다.

쓸데없는 소리를 해서 죄송하구요...

제 생각에도 지금 대학교 3학년이시라면, 그리고 임베디드 프로그래밍에 흥미를 느껴 취미 생활로 하려는 것이 아니시라면, 굳이 지금부터 임베디드 시스템을 구축해서 경험해볼 필요는 없으실 것 같습니다.

회사 생활 시작해서 하셔도 충분하리라 생각됩니다. 정말로 개발환경이 많이 편해졌거든요.

예전에 임베디드 리눅스를 하려면 개발 환경도 직접 구축해야했는데 하드햇 나오고 그러면서 그냥 인스톨하면 땡입니다.

그리고 제 생각에 가장 저렴하게 리눅스 임베디드 시스템을 구축하여 테스트하고 싶으시다면 요피를 권해드리고 싶습니다. 가격도 "엄청나게" 저렴하고 개발환경 구축도 쉽습니다. 뭐 JTAG 등의 하드웨어 디버깅 장비는 없지만요... 커널로더와 파일시스템 로더도 있으니까 생각하시는 것 정도는 구현할 수 있을 듯 싶습니다.

로모뉴스의 이미지

shs0917 wrote:
저는 현재 학부 3학년이구요..^^
에구구.. 이곳에 글 올려본지도 정말 오랜만인듯..
예전부터 임베디드에 굉장한 매력을 느끼고 있었는데..
막상 공부하려니 만만치가 않더라고요..^^
책만으로는 한계도 있고... 깡통부터 시작해야 되는 난감함..
하드웨어라는게 엄청난 벽이더라구요..ㅠ.ㅠ
저는 특정한 목적에 맞는 간단한 커널을 구현하고(구현이라지만
계획으로는 리눅스 커널 옵티마이징이 더 맞을지도...)
제가 원하는 기능을 담아서... 뭔가를 하나 만들고 싶은데..
그 개발용 툴킷도 없고.. 지식도 너무 없고..
저는 대구에 사는데.. 혹시 이쪽으로 공부하시는 분 없으신지요..
도움을 받고 싶어요...^^ 이쁜말로 공동연구라고들 하던데..
그런걸 한번 해보고 싶네요..^^ 괜찮은 해결책이 없을까요?

제가 아는분들이 참여하고 있는 카페입니다.
대부분 대구분이니 같이 참여할 수 있을지도... :)

http://cafe.naver.com/embedded01.cafe

OPEN MIND!

feelpassion의 이미지

혹시 경북대 생이세요?
그럼 우리 동아리 들어오세요^^ 하드웨어 연구회인 빛돌입니다^^;;
임베디드 시스템, 라인 트레이서, 2족 로봇, 홈 오토메이션 등을 공부한답니다~^^

남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.

shs0917의 이미지

답변 감사드려요.. 저는 경대생은 아니구요.. 경일대 재학생입니다..
주변에 장비도 없고 해서.. 어디 좀 신세질곳을 찾고 있거던요..
실력도 없고.. 아무것도 없지만.. 열정 하나만 가지고 같이 공부할 수 있고
도움을 좀 받을 수 있는 그런곳을 찾고 있어요..
타대학에 비공식적으로 같이 공부할 사람들을 찾는다는게 정말로
어렵다는걸 느끼고 있습니다..^^;;

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러

kiwist의 이미지

임베디드 시스템을 공부하기 위해서 반드시 메인보드가 훤히 보이는 개발 보드나 시스템이 필요한 것은 아닙니다. 임베디드 리눅스 쪽으로 공부하시고자 한다면, 금전적으로 개발보드등을 구입하시는데, 힘드신 거라면, 물론 요즘은 아주 저렴한 개발 보드들도 많이 나와있지만, 그것 마저도 부담이 되신다면, 그리고 임베디드 시스템 개발 방법이나 개발환경등을 접해보시고자 한다면, 구형 (잘 사용하지 않거나 남는) i386시스템도 좋은 개발 보드가 될 수 있습니다. 또는 여유가 좀 되셔서 PDA라도 하나 가지고 계신다면 더 없이 훌륭한 환경이겠지요. 일단 이런 시스템 하나만 구하실 수 있다면, 일단은 기본적으로 호스트/타겟 개발 환경이 구축되는 것이니 크로스 컴파일이니, 원격 디버깅이니 하는 것들을 맛보실 수 있을 겁니다. 상업적으로 제품 개발을 위한 프로토타이핑 정도가 아니라면, 요즘은 돈 안들이고도(?) 구할 수 있는 저렴한 i386기반 시스템을 권장합니다. ^^;

shs0917의 이미지

자게 포켓PC2002 기반의 POZ1870(?)이라는 KTF 폰겸용인
PDA하나를 가지고 있는데요.. 여기서도 리눅스를 포팅 가능한가요??
씨퓨틑 엑스케일200입니다..
혹시 관련 자료를 구할수는 없을까요?그리고 또 궁금한건요..
i386기반의 보드라면 구형 펜투 같은것도 가능하다는 말씀이신가요?
그걸 이용해서 어떻게 스트롱 암 보드 같은것과 같은 그런걸 할 수 있는거죠?
에휴.. 이래저래 어렵습니다.

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러

kiwist의 이미지

CPU가 XScale기반이라면, 일단 리눅스가 동작할 겁니다. 소프트웨어 개발을 위해서라면, 일단 호스트에서 컴파일한 커널 이미지등을 다운로드 할 수 있는 연결 케이블 등이 필요할겁니다. iPAQ PDA같은 경우는 시리얼 연결 케이블등을 별도로 판매하는 것으로 알고 있습니다. 님께서 사용하시는 PDA에도 그러한 케이블이 있는지는 알아보셔야겠군요 ^^; 그리고 보통 커널 이미지나 루트파일 시스템 이미지는 이더넷을 통해서 다운로드하는데, CF나 PCMCIA슬롯이 있다면 랜카드를 연결할 수 있을 겁니다.

개발보드 대신 구형 팬티엄을 타겟 시스템으로 이용하시려면, 먼저 호스트에 툴체인을 구성하셔야합니다. 이경우 호스트/타겟이 같은 i386이지만, 호스트에서 컴파일한 바이너리를 타겟에서 동작시키려면, 네이티브 컴파일러를 사용하면 안되는 것으로 알고 있습니다. 같은 플랫폼이라도 i386-linux-gcc와 같은 크로스 컴파일러를 이용하셔야할 겁니다. 그리곤 모든 절차가 동일하겠지요. 호스트와 타겟을 이더넷과 시리얼로 연결하고 부트로더 등을 먼저 포팅한 다음 커널 컴파일하고... 이러저러한 일들을 진행하시면 될듯합니다. ^^;
자세한 것은 임베디드 시스템과 관련된 서적을 한번 찾아보시지요.(한X 출판사에서 나온 박X호님의 책등을 보시면 많은 도움이 되실겁니다. ^^)

feelpassion의 이미지

죄송합니다^^;; 제가 큰 도움이 못 되드려서요...ㅠㅠ 동아리 회칙에 타대학이나 타과 사람들은 안 받고 오로지 전자전기컴퓨터학부 사람들만 받기로 되어있어서요... 쫌 빡시게 돌아가는 걸 다른 과 사람들은 전공이 아니기 때문에 소화하기 힘들다는 것과 소속감이 없어서 탈퇴하기 쉽다는 이유 때문인데... 정말 죄송하게 생각합니다^^;;
그래도 하드웨어 쪽에서 궁금하신 점이 있으시다면 feelpassion@nate.com으로 멜 주세요^^ 공식적으론 힘들지만 제 개인적으론 도움을 드릴 수가 있거든요
저도 동아리 들어온지 얼마 안되서 배우는 처지지만 울 동아리에서 하드웨어 프로들이 많거든요^^ 제가 모르면 물어서라도 갈쳐드릴께요..ㅎㅎ
열심히 공부하시구요 .. 즐거운 하루되세요~

남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.

shs0917의 이미지

죄송하다니요.. 이렇게 답변이라도 달아주셔서 너무너무 감사드려요...
일단은 영대쪽에 연줄이 좀 있어서.. 그쪽에 도움을 조금 받기로 했네요...^^
신경써주셔서 감사합니다.

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 작성할 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다 - 마틴파울러