?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

[질문] 6 Pin ISP로 스케치 다운로드 하기?

페이지 정보

작성자 돌메 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-12-15 18:09 조회1,928회 댓글3건

본문

안녕하세요.

아두이노로 스케치를 만들어서 보드에 다운로드 할 때 보통 USB를 통해 다운로드를 하는데요,

UNO나 Mega 보드의 MCU의 옆이나 위에 보면 6 Pin의 ISP가 있습니다.

(ISP : In-System Programming, 첨부하는 이미지 참조)

이 Pin을 이용하여 스케치를 다운로드 하는 방법이 있나요?

이거 테스트 하느라,

AVR Studio에서 hex 파일을 ISP로 Arduino Mega 보드에 다운로드했다가

BootLoader가 날아가는 사고가 발생해서 겨우 복구했던 경험이 있는데요..

ISP Pin을 이용하여 BootLoader 영역 말고 프로그램 영역에 다운로드 하는 방법을 알고 싶습니다.

아시는 분 도움을 바랍니다.

감사합니다.

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

Arduino ISP programmer 장비 또는 아두이노 보드(UNO, Leonardo 등)를 ISP로 연결해서 부트로더를 구울수도 있고, 프로그램을 다운로드 할 수도 있습니다. [도구 > 프로그래머] 에서 장비를 선택하고 [파일 > 프로그래머를 이용해 업로드]를 이용할 수 있습니다. 그런데 이 경우는 부트로더 영역을 덮어 씌웁니다. 일반적인 USB 연결 후 프로그램 업로드를 할 수 없게됩니다. 복구하려면 부트로더를 다시 써줘야 합니다.
부트로더 손상없이 프로그램 영역만 업로드 하는 방법은 모르겠네요. 그런 내용은 아직 보질 못했어요.

heaven2님의 댓글

heaven2 이름으로 검색 작성일

빌드된 스케치(hex file)을 ISP로 다운로드 하여 부트로더에 덮어 씌우게 되면, 더 이상 아두이노 보드가 아닌 AVR 보드가 되는 것인데요.. 그런 상태(부트로더가 없는)에서도 빌드된 스케치(hex file)는 잘 동작하더군요. (사실 이렇게 해 보았는데 스케치의 동작은 정상적으로 동작되더군요. USB 다운로드는 안되고. )

그럼, 개발은 아두이노 보드에서 USB 를 통해 부트로더 위에서 동작하면서 테스트를 하고,
운용할 때는 ISP를 통해 부트로더 없이 그냥 스케치가 동작하도록 하면, 그래도 되는 것인 지?
..
왜 이렇게 하려고 하냐면,
일단 개발이 끝나고 운용 상태로 들어가면 운영팀에게는 개발 환경이 아닌 hex 파일만 주고,
AVR Studio나 ISP 다운로드용 Tool을 이용하여 아두이노 보드에 다운로드하게 할 생각이고,
아두이노 보드의 USB 커넥터와 관련 회로를 제거한 커스텀 보드를 만들려고 하는데요,
(RS-232, RTC, SD Shield가 구비된 커스텀 보드), 제작된 보드에 ISP로 바로 다운로드해서
현장에 내보낼 생각을 합니다. 그러면, 현장 엔지니어가 아두이노 개발 환경을 열 필요도 없고,
개발 소스가 밖으로 나가지 않아도 되니까요.

ISP를 통해 프로그램을 구우면, 부트로더 영역을 overwrite하게 되는데, 이렇게 해도
프로그램 동작에 별 문제만 없다면 이렇게 써도 되는 것이 아닐까요?