arm 프로세서에 관해서 공부해보려는 학부생입니다.

wataka의 이미지

안녕하세요 arm공부를 막 시작한 지방대 컴공 3학년 학부생입니다.

처음에는 안드로이드 app제작에 관심을 두고 앱을 만들며 지내다가

타과(전자과)에서 수업하는 컴퓨터 구조 수업을 들으며

verilog로 mips 멀티사이클과 파이프라인 시피유 제작을 하면서 ARM프로세서에 관심을 가지게 되었고

ARM development guide와 Cortex-M3 완전정복 이런 책을 보며 독학 하고있습니다.

추후 망고보드도 구매하여 실습도 해보려고 합니다만...

제가 하고싶은건 arm이나 atmega128같은 것 을 이용해서 공모전에 출품할 작품을 만드는게 아닌

ARM프로세서를 이용하여 개발한 보드에 리눅스나 안드로이드를 포팅해보면서

부트로더가 무슨역할을 하며 OS는 어떤 방식으로 구동되는지

OS에서 CPU를 효율적으로 사용하려면 어떻게 해야하는지를 공부해보고 싶습니다.

더불어서 올해말 삼성 소프트웨어 멤버십에도 지원할 예정입니다.

저희 연구실이나 주변 많은 사람들이 제가 갈려는 SSM(비 서울권)에 소프트웨어로 가있고

이미 가있는 친구들처럼 안드로이드 app을 제작해서 지원해볼 수도 있겠지만(이떄까지 해오던것도 안드app이고...)

무엇보다 제가 공부하고 싶은 분야는 위에 적은대로 부트로더같이 SW와 HW를 중계? 해주는 쪽이고

이에 관련된 작품을 하나 만들어서 출품하고 싶습니다.

근대 막막합니다. 당장 ARM프로세서 구조부터 공부해야겠다 싶어서 Cortex-m3를 공부하고 있고

망고보드와 망고 교제를 구매해서 실습해볼 거지만 제가 하고싶은걸 공부하려면

뭘 공부해야하는지 부터 막막합니다. 사실상 프로그래밍 경험이라곤 안드로이드 APP이 전부 이거든요

만들어 본 앱도 하드웨어에 관련되기 보다는 소프트웨어 쪽이고 심도 있게 다뤄본 부분이라고 해봐야

서비스, 기기관리자 권한을 이용한 핸드폰 제어, 정도 뿐이고 (이것도 심도있게 다뤄 봤다고 하기엔 민망하네요)

리눅스 경험은 CENT OS에서 2년전에 APM셋업 해보거나 현제 학부 운영체제 수업에서 시스템콜 추가해서 커널 컴파일 해본게 전부입니다.

이렇게 아는게 별로 없으니 지금 공부하고 있는 방향을 맞게 잡은건지

Cortex-m3 끝내면 20~30만원짜리 보드사서 부트로더 올려서 리눅스나 안드로이드 돌려봐야 하는건지

드라이버? 관련된다는 리눅스 모듈 프로그래밍을 해봐야 하는건지...

뭘 해야하는지도 모르겠고

삼성 멤버십은 위 고민사항만으로도 이미 머리가 터질 지경이라 뭘 만들어 봐야할지 감도 안잡히네요

일단은 cortex-m3 사용한 망고보드와 망고 교제(실전! arm cortex-m3 시스템 프로그래밍 완전정복 1&2)를 구매해서 한두달 안에 끝내보려고합니다

어떤 조언이든 저에게 도움이 될거 같습니다

미리 감사드립니다.

kukyakya의 이미지

cortex-m3면 mmu가 없어 아마 리눅스가 올라가지 않거나 힘들 것 같습니다.

타겟을 cortex-m3로 정하셨다면 간단한 os를 직접 제작해보시거나 기존의 rtos들을 분석, 포팅해보시는 것이 좋을 것 같습니다.

netrts의 이미지