임베디드 플랫폼 개발에는 어떤 것들이 필요하나요?

gurugio의 이미지

현재 다른 분께서 Mainstone 보드를 수정해서 만드신 보드에

커널 2.6.11을 포팅하고 있습니다. LCD와 CS8900 이더넷 칩을 포팅하는데

두달이 걸려버렸습니다. 그래서 교수님께서 크게 화내시면서

임베디드 플랫폼을 개발하기 위한 방법론을 조사하라고 하셨습니다...:jawdrop:

제가 방법론을 세울만큼 전문가도 아니고 일개 학생이라 선배님들께 조언을 구합니다.

- 처음 하드웨어를 만드실 때는 어떻게 하시나요?

Mainstone 보드는 FPGA도 들어가고 매우 복잡하더라구요. 좀더 간단한 보드를 만들기 위해서는

어떻게 해야 하나요? 레퍼런스 보드를 만드는 회사가 있을까요?

- 드라이버를 포팅하실 때 GPIO 설정이나 IRQ 설정이 달라지거나 아니면 왜 동작하지 않는지

알 수 없는 경우에 어떻게 하시나요?

어떤 에뮬레이터같은 장비가 있어서 하드웨어 레벨에서 디버깅이 되서 프로세서의 레지스터들을 확인하거나

인터럽트를 가로채서 확인할 수 있나요?

- 일반적으로 처음 보드를 개발하면 시간이 얼마나 걸리나요?

교수님께서는 2달을 말씀하시는데 그게 가능할지 알고 싶습니다.

너무 막연한 질문만 올려서 죄송합니다. 이런 질문밖에 올릴 수 없을 정도로 많이 부족합니다.

바쁘신줄 알지만 조금씩만 도와주시면 정말 큰 도움이 될것 같습니다.

정말 감사합니다.

hanbyeol의 이미지


0) 계획/분석하고 1) 온갖 부품 datasheet 뒤져가면 회로도 그려야할 테고, 2) 회로도 나오면 PCB Artwork 해야 하고, 3) PCB 제작해야 하고, 4) PCB 나오면 부품 다 모아서 SMD (SMT) 쳐야할테고 ... 회로도나 여러가지 문제를 사전에 다 파악 못했을 테니, 5) 보드가 제대로 작동하는지 테스트하면서 온갖 점퍼 날아다닐테고. LCD 눈띄워야하고 ... 6) SW적으로 뭐 온갖 포팅해야 하고 ...

0) 경험과 지식에 영향을 받으니 시간 예측 안 됨
1) 경험과 지식에 영향을 받으니 시간 예측 안 됨
2) 외주주면 일주일 이내
3) PCB 제작은 대개 2주
4) SMD는 하루면 됨
5) 예측 불허
6) 예측 불허

SW를 차치하고 HW(보드)만 제작만 하는 시간 가볍게 한달이고, HW 살리고 디버깅하고 ... SW까지 올리는 데까지 ... 시간 예상이 불가하네요.

결론은, 그냥 EVM 사서 쓰시면 되겠습니다. 사용할 프로세스와 EVM (개발보드, evaluation board 등) 키워드로 검색하면 보드 파는 곳 나옵니다. 그냥 EVM 사다 쓰세요.

EMV 몇 장 제작한다고 하더라도 천만원은 가볍게 깨질 듯합니다. 이 또한 경우에 따라서 돈이 다를 수 있습니다.

장비는 ... JTAG 장비가 있습니다. 정확한 가격은 모르는 데, OpenICE 같은 놈은 500전후, 개발자들은 Trace 32 라는 장비를 선호하는 데 약 900만원 전후로 합니다. 200~300만원 전후 싼 것도 있는데 디버깅 기능 약합니다.

방법론???
조그만 땅덩어리 안에, 소비 전력 제한이 많은 임베디드 환경에서 최고의 방법론은 경험 곧 짬밥입니다. 어떤 칩 성능 좋다고 그거 안 씁니다. 전력 많이 먹으면 바로 out. 최신 거 안 씁니다. 다른 부품하고 궁합 안 맞으면 또 out. 성능 좋고 최신거라도 잘 안 씁니다. 가격 안 맞으면 또 out.

ARM9, 11 용 좀 빠방한 EVM은 가볍게 만불 넘어갑니다. 적절한 개발환경을 갖춘 EVM 은 2000불 내외로 나온 게 있는 걸로 알고 있습니다. 범용적으로 개발환경을 제공하고 있는 EVM 구입해서 - Linux 등 포팅되어 있는 걸로 - 개발하시기를 적극 권장합니다.

2달요? 선수들이 있으면 가능합니다.

gurugio의 이미지

참 큰일인게요 연구실에서 필요한 스펙에 딱 맞는 EVM 보드가 없다는 거지요.

FIFO와 FPGA를 달아야 할 때도 있고 PDA처럼 작게 만들어야 할 때도 있고

필요한 하드웨어가 연구 주제에 따라 달라지기 때문에

EVM을 사도 그걸 그대로 못쓰고 다시 만들어야 한다는 게 문제입니다.

비용은 그래도 과제에서 따오는 돈으로 넉넉한 편이라

장비를 좀 쓰는게 어떨까 싶네요.

장비를 쓰면 개발 속도가 좀 개선될까요?