그간 미뤄오던 USBASP의 펌웨어 업그레이드를 진행 했다.
달라진건... warning 이 안뜬다는거랑 프로그램 속도가 좀 더 빨라진것 같은 느낌...?
까먹기전에 역시 메모...
준비물 : USBASP 2개 (한쪽은 주는쪽 한쪽은 당하는(?)... 쪽)
(서로 번갈아 가며 2번 하면 둘다 펌업이가능 합니다만... 1개만 있으면 아쉽게도.. 불가.;;)
타겟에 JP2 를 쇼트 내도록 합니다.
(이거 몰라서 왜 안되징...?? 하며 1시간 헤메었네요 ㅜㅜ)
소스코드 다운로드
http://www.fischl.de/usbasp/
압축해제 후 bin 폴더안에 hex 파일을 찾는다.
그리고 아래 명령어로 플래싱을 한다.
(-p m8 옵션은 ATMega8A MCU 이다. 혹시 다른 MCU 라면 해당 모델로 바꾸도록 한다)
$ avrdude -c usbasp -p m8 -F -e -U flash:w:usbasp.atmega8.2011-05-28.hex
avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9307 (probably m8) avrdude: erasing chip avrdude: reading input file "usbasp.atmega8.2011-05-28.hex" avrdude: input file usbasp.atmega8.2011-05-28.hex auto detected as Intel Hex avrdude: writing flash (4700 bytes): Writing | ################################################## | 100% 1.80s avrdude: 4700 bytes of flash written avrdude: verifying flash memory against usbasp.atmega8.2011-05-28.hex: avrdude: load data flash data from input file usbasp.atmega8.2011-05-28.hex: avrdude: input file usbasp.atmega8.2011-05-28.hex auto detected as Intel Hex avrdude: input file usbasp.atmega8.2011-05-28.hex contains 4700 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 1.11s avrdude: verifying ... avrdude: 4700 bytes of flash verified avrdude: safemode: Fuses OK (E:FF, H:D9, L:FF) avrdude done. Thank you. |
끝... (이래 간단한 것을...;;)
펌웨어 업글 이전 / 이후 비교로그
haebi@haebi-W330AU ~/workspace/avr/atmega328p/timer2 $ ./program.sh avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: erasing chip avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: reading input file "timer2.hex" avrdude: input file timer2.hex auto detected as Intel Hex avrdude: writing flash (602 bytes): Writing | ################################################## | 100% 0.41s avrdude: 602 bytes of flash written avrdude: verifying flash memory against timer2.hex: avrdude: load data flash data from input file timer2.hex: avrdude: input file timer2.hex auto detected as Intel Hex avrdude: input file timer2.hex contains 602 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.30s avrdude: verifying ... avrdude: 602 bytes of flash verified avrdude: safemode: Fuses OK (E:FF, H:DE, L:FF) avrdude done. Thank you. |
업글 이전 warning 이 표시되었다.
그리고 업글 후...
haebi@haebi-W330AU ~/workspace/avr/atmega328p/timer2 $ ./program.sh avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: erasing chip avrdude: reading input file "timer2.hex" avrdude: input file timer2.hex auto detected as Intel Hex avrdude: writing flash (602 bytes): Writing | ################################################## | 100% 0.23s avrdude: 602 bytes of flash written avrdude: verifying flash memory against timer2.hex: avrdude: load data flash data from input file timer2.hex: avrdude: input file timer2.hex auto detected as Intel Hex avrdude: input file timer2.hex contains 602 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.15s avrdude: verifying ... avrdude: 602 bytes of flash verified avrdude: safemode: Fuses OK (E:FF, H:DE, L:FF) avrdude done. Thank you. |
warning 이 사라졌다!!