한 카페에 USBtinyISP 업로드 글이 올라온 신제품인데 인터넷 판매가보다 훨씬 싸게 팔자니…한 번도 안 써본 물건이라 호기심이 들었지만, 나는 직접 만든 업로드 보드가 있어 별로 필요가 없었는데 글을 한참 읽고 정신을 차려보니 어느새 내 손이 댓글을 달더라. 내가 살게요..(그래도 다행이야? 인건비가 싼 편의점 반값택배로 받았다며 위로를…)
USBtinyISP의 업 로더로 가 도우이노 보드 또는 자작 보드 등 ISP포트가 있는 보드로 부트 로더를 굽거나, 부트 로더 없이 코드를 업로드할 수 있도록 했던 MCU을 몇개 시험하고 보았지만 모두 잘 작동하지만, 이상하긴 부트 로더를 올렸다 MCU와 단 코드만 올린 MCU동작에 약간 차이가 있던 아도우이노 Blink예제의 경우 1초마다 LED ON/OFF를 반복할 필요가 있다부트 로더를 올리고 코드를 업로드한 MCU는 코드로 기술한 대로 정상적인 동작을 하는, 부트 로더 없이 코드만 올린 MCU는 약간의 오작동이 발생했다예를 들면 1초가 없는 5초마다 ON/OFF등···하드웨어의 전문가가 아니라 전문 지식에 근거한 원인을 분석할 수는 없지만 아마 MCU의 작동에 필요한 시계 설정과 관련이 있는 것이 아닐까…라고 추측하고 보자.(언젠가는 이 부분에 대해서 이해할 것…)아무튼 USBtinyISP에서 업로드할 때는 부트 로더를 꼭 올리고 써야 할 것 같다 첨부 파일 zadig-2.5_USBtinyISP_Driver.exe파일 다운로드 내 컴퓨터 저장
네이버 MYBOX에 저장

2021.02.19추가 몇몇 카페에 상기의 내용에 관한 질문을 게재했는데 응답이 붙었다.”MCU가 생산될 때 동작에 관련된 클락과 공평 비트 등이 일정한 상태에서 생산되는데 이를 사용하기 위해서 부트 로더를 올리면 해당 Device에 필요한 클락과 퓨즈 비트에 재설정되는 과정을 거친다그러므로 생산 초기 상태의 클럭과 부트 로더를 올린 후, MCU클록은 다르다.그러므로, 코드만 올렸을 때와 부트 로더를 올린 후, 코드를 올렸을 때의 동작이 다를 수 있다” 같은 결론을 얻은 예상했던 내용이지만, 이유를 이해는 없었지만 질문을 통한 설명을 듣고 이해하게 된 또 이 과정에서 AVRDUDES와 USBtinyISP를 통해서 MCU내부의 퓨즈 비트의 확인 및 설정이 가능하다는 것도 나타났다이해한 부분을 눈으로 확인하고자 프로그램을 내려받아 설치하고 우노ー 보드에 연결한 처음 보는 프로그램이라 다른 부분의 사용법은 아직 모르지만 부트 로더를 올린 MCU와 공장 출하 상태의 BlankMCU의 퓨즈 비트가 서로 다른 것이 보였다
공장출하상태에서 부트로더가 없는 ATmega328p
부트로더 올린 후 ATmega328p
이 프로를 공부해 보는 것도 재미있을 것 같다



