USB device를 가진 MCU를 PC에 연결시 Mass Storage Device로 동작시키고, Hex파일을 copy하면 MCU의 application code가 업데이트 되는 형태.
Posts tagged with: bootloader
아두이노 Serial to USB 사용하기
원본소스는 Mac에서 \Resource\Java\hardware\arduino\firmware\atmegaxxu2 아래에 있다. arduino-usbdfu 또는 arduino-usbserial 를 사용한다. 이 소스에는 USB 프레임워크인 LUFA(Lightweight USB Framework for AVRs)가 빠져있으므로 http://www.fourwalledcubicle.com/LUFA.php 에서 다운로드한다. 다운로드한 LUFA 폴더를 arduino-usbserial 폴더와 같은 위치에 복사한다.
make 파일에서 다음과 같은 내용을 수정한다.
LUFA_PATH
# Path to the LUFA library
LUFA_PATH = ../
MCU
MCU = at90usb162 #atmega16u2와 pin to pin 호환임
컴파일된 hex파일은 avr isp등으로 write하면 된다.
이렇게 작업한 내용은 https://github.com/jbkim/usbserial
부트로더도 네트웍으로 업로드하자
예전에 만들어 놓은 모듈은 부트로더도 업데이트가 가능했었던 것을 최근에 발견했다. 중요한 것은 메모리 맵이다. 예전 코드를 자세히 보다가 나중에도 써먹기 위해서 정리…