기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.

TI CPU 를 사용해서 제품 기획 중에 있는 일인 입니다.^^ 오랜만에 사이트 방문하네요.


현재 제품에 CPU와 마이컴이 하나하나 들어가게 되어있습니다.

마이컴이 전원 관리 때문에 들어가 있는데 개발 중간에도 소스가 수정되어야 하는 경우도 많고

제품이 나가서도 마이컴 쪽 업데이트가 발생하면 문제가 많았습니다.


그래서 차라리 라이팅 할때 인터페이스인 SPI 를 CPU 쪽에 연결하고 SD 업데이트 처럼 SD 만을 이용해서 CPU 와 마이컴 모두 업데이트를 할수 있지 않을까 합니다. 아니 되었으면 좋겠습니다.


정리하자면 

1. CPU 가 마이컴을 굽는게 가능한가요?

2. 가능하다면 난이도는?


저는 하드웨어 개발자라 막연히 될것 같기는 한데 확신이 안서네요. 그리고 난이도도 감이 안오고요.


어떻게들 생각하시는지 궁금하네요^^ 참고로 리눅스 기반입니다.


고맙습니다.


장재석

2013.01.31 00:51:30
*.91.87.243

사용 MCU에 따라 다르지만 대부분 됩니다.

해당 MCU 데이타쉬트를 보시면 Flash Programming에 대한 섹션이 있으니 참고 하시면 될듯 하고요.

난이도는.. 글쎄요.. 리눅스 올린 cpu 사용능력치와 mcu 사용능력에 따라 달라질테지만

어느한쪽이라도 이해가 부족하면 삽질 예상됩니다.

MCU 메모리가 충분하면 부트로더 사용하는 방법도 좋을듯 합니다.

황인용

2013.01.31 02:23:02
*.216.14.253

호스트에서 디바이스의 마이컴을 퓨징하는 것은 가능합니다.

마이컴에 따라서 방법이 다르지만 대부분의 마이컴에서 이러한 매카니즘을 제공합니다.

간혹 저가의 마이컴의 경우 지원하지 않는 경우는 있습니다. 마이컴 선정시 이러한 스펙이 고려되어야합니다.

예를 들어 폰에 터치 디바이스가 붙어 있는 경우 터치 디바이스 펌웨어가 업데이트 되는 경우

폰을 뜯어서 해당 디바이스의 마이컴의 바이너리를 퓨징하지는 않습니다. 대부분 호스트에서

I2C 등을 이용하여 퓨징하게 됩니다.

ISP(In-System Programming) 또는 비슷한 용어로 정리되어 있을 겁니다.

간단하게 설명드리면 마이컴은 전원이 들어오게 되면 바로 코드가 수행됩니다. 마이컴을 퓨징하려면

일단 플래시 프로그램 모드로 전환이 되어야 하는데

1. 마이컴의 부트로더에서 커맨드를 받아 퓨징하는 루틴으로 점프하는 방법과

2. 호스트가 마이컴의 Reset이나 Power 시퀀스를 이용하여 

마이컴을 플래시 프로그램 모드로 진입시킵니다.

그 다음 호스트에서 정해진 프로토콜에 따라 바이너리를 전송하여 플래시에 차례로 쓰게됩니다.

이 때 마이컴은 메모리가 작기 때문에 바이너리 모두를 전송 받아 쓰는게 아니라

특정 크기(예 64 바이트) 단위로 전송 받아 쓰기 때문에 호스트와 Hand-shaking 을 하여 작업을 하게 됩니다.

자세한 사항은 해당 마이컴의 데이터시트를 참조하시거나 FAE에 문의를 하시면 자세히 알려줄겁니다.

저도 모든 마이컴을 해본게 아니라 터치디바이스 개발하면서 폰에 올라가는 코드를 ARM에서 짜서 업체에 지원한 적이 있었습니다.


두서없이 설명드려 죄송합니다.

박명대

2013.01.31 20:39:25
*.215.65.244

두분 답변 감사드립니다.^^

개발 방향잡는데 많은 도움이 되었네요.

이전 제품에서 사용했던 마이컴이 있는데 설명해주신것들 보고 시트를 살펴보니 가능한듯 보이네요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
5708 애플리케이션에서 GPIO 컨트롤하기 에 대해 문의드립니다. [6] 미누유희 2013-02-05 1542
5707 Exynos5250 부트로더 수정 관련 림보맨 2013-02-04 1086
5706 ARNDALE 보드에서 OpenCL 구동 가능한지요 ? [4] 오빠네미용실 2013-02-02 1433
5705 ARM NEON 관련 문의 드립니다. 죽유 2013-02-02 1411
5704 안드로이드 풀 빌드 시 구글 계정 사용할 수 있나요? [1] 코믹해커 2013-01-31 1490
5703 aesop V210 진저브레드/ICS 커널 포팅 관련하여 질문드립니다. [1] 황인용 2013-01-31 1389
» CPU 에서 마이컴 writing 관련 [3] 박명대 2013-01-30 1692
5701 카메라 디바이스 드라이버에 대해서 공부하고 있는데요.. [1] rubio 2013-01-30 1302
5700 엑시노스 5250 RESET 문제?? [2] 윤동열 2013-01-30 1502
5699 [이클립스]UI LCD 표시 매우 큰 글자 표시 방법 만년설화 2013-01-29 986
5698 S5PV210 WinCE6.0 Sleep/Wakeup 질문 사악깨비 2013-01-28 1014
5697 dtv 튜너 모듈이 있을까요? [3] 최승훈 2013-01-27 1791
5696 S5pv310의 GPL2(0)를 인터럽트로 사용 하려면 어떻게 해야 되지요.? [3] GloomyDay 2013-01-27 1520
5695 [Arndale Board] OTG(mini USB)연결 문제에 관해서 문의드립니다... [6] 강현성 2013-01-25 1734
5694 C110 보드 설계해보신분 답변 부탁드립니다(전압관련) [2] 화이트맨 2013-01-25 1295
5693 ubuntu update와 tool package설치 관련 [2] 바라마79 2013-01-24 1261
5692 kernel 문제 다시 여쭤 봅니다. [8] 황원일 2013-01-24 1404
5691 [arndale board] wiki의 오타 부분 [1] monad 2013-01-24 1188
5690 [origen4412] gps 작동 질문. [4] 루트요 2013-01-23 2313
5689 [android] power management [10] wizard14 2013-01-23 1579

사용자 로그인