Hardware | Arduino MEGA 2560 를 DIY 해보자 - 2

Arduino 를 접하게 된 뒤, arduino 자체를 DIY 하고 있습니다. 여러 버전을 지금까지 진행해 왔지만, Mega 2560 을 완료하지 못 하고 있었습니다. 이 블로그는 오래 끌었던 Mega 2560 완성 포스트 입니다.

지금까지 Mega 2560 내용은 아래 링크 입니다. 2019년 11월에 아래 글을 올렸으니, 거의 1년 반 만에 적는 완료 보고 되겠습니다.

* Hardware | Arduino MEGA 2560 를 DIY 해보자 - 1
  - https://chocoball.tistory.com/entry/Hardware-Arduino-MEGA-2560-DIY-1


1. Parts - 1K Ohm SMD resistor

DIY 를 여러 가지 진행하다 보니, 1K Ohm SMD 가 부족하게 되었습니다.

추가 구입 합니다.

* 200PCS 0805 SMD 1/8W chip resistor 0R ~ 10M 0 10R 100R 220R 330R 470R 1K 4.7K 10K 47K 100K 0 10 100 330 470 ohm Resistance
  - https://www.aliexpress.com/item/32979436610.html

잘 도착 했습니다. 이제 1K Ohm SMD 는 부족할 일이 없겠네요.

SMD 소자는, 표기 값 적을 공간이 작아서, 단축된 숫자로 표기합니다. 1K Ohm 의 경우와 1M Ohm 의 경우는 다음과 같습니다.


102 = 10 x 10^2 = 1,000 = 1k
105 = 10 x 10^5 = 1,000,000 = 1,000k = 1M


1M Ohm 도 가지고 있어서, 비교샷 입니다.


2. Parts - ATMEGA2560

사실 부품 실장을 모두 마쳤었으나, 제대로 동작하지 않았습니다.

다행히 Arduino Mega 2560 은 fuse 가 달려 있어 실장 부품이 타지는 않았으나, 어디서 short 가 났는지 제대로 동작하지 않았습니다. Fuse 가 뜨거워져서 바로 short 라는 것을 알았으나, 그 위치를 찾는 시간이 정말 오래 걸렸습니다.

아무래도 Fake chip 을 많이 판다는 AliExpress 인지라, 이 참에 정품 ATMEGA2560 을 Digi-Key 에서 구입해 놨습니다.

역시, 정품 chip 은 마킹이나 마무리가 정말 깔끔합니다.

기록을 위해, 뒷 면도 남겨 놓습니다.


3. Parts - ATMEGA16U2

Arduino Mega 2560 에는 USB controller 가 따로 있습니다. ATMEGA8U2 를 사용해도 되나, 메모리 크기가 더 큰 ATMEGA16U2 도 가능하다 하여 ATMEGA16U2 로 진행 했었습니다.

PCB 다리 붙이는 부분에 동박 패턴에 여유가 없다 보니, ATMEGA16U2 를 실장하기가 너무 어려웠습니다. 열을 너무 많이 받아 문제가 되었을 것 같아, ATMEGA16U2 도 추가 구매해 놓습니다. (DIY 는 돈이 많이 듭니다 ㅠㅠ)

역시 정품은 깔끔합니다.

기록을 위해 근접 샷도 올려 놓습니다.


4. Assemble

부품이 모두 모였으니, 2019년 연말 연시에 신나게 작업해 봅니다.

패턴에 납 플럭스를 잘 발라서 SMD 부품들을 하나 씩 올려 놓습니다.

ATMEGA16U2 가 가장 어렵지만, 일단 납 플럭스 올려 봅니다.

신중하게 작업하긴 했지만, 납땜은 정확하게 붙지 못했습니다. 이런 부품은 나중에 따로 작업하는 것이 확실한 듯 합니다.

납 플럭스 위에 얹혀 있어서, 쎄게 누르면 옆에 있는 패턴과 short 를 낼 수도 있고, 적당히 하자니 다리쪽이 틀어집니다.

어찌어찌 부품 다 올렸습니다.

빨리 완성하고 싶은 나머지, USB 나 Pin header 까지 한방에 모두 올렸습니다. 잘 정돈되지 못한 부분은 플럭스 발라서 정리.


5. Issues - short

역시 문제가 생겼습니다. 서술한 것 포함 아래 두 가지 입니다.

 - 회로가 전체적으로 short 되어 있는 것
 - ATmega16U2 가 인식되지 않는 것

정말 오랜 기간 동안 별의 별 짓을 다 해봤습니다. 전원 regulator 도 바꿔 보고, array resistor 다리 사이가 조밀하여 short 의 원인이 아닐까 해서, 다시 모두 재접합 해보고, 오픈에 다시 구워 보고... 그러던 와중에 1년 3개월 정도 지났습니다.

그러던 중, 아래 Youtube 동영상을 접하게 됩니다.

* Replacing a Laptop LCD With a Raspberry Pi Zero (Part 2)
  - https://www.youtube.com/watch?v=ywWMhFoXHXo

위의 동영상은 레트로 기기 수리가 주 내용인데, SMD chip 을 실장하면서 short 의 원인을 찾는 부분이 잠깐 나옵니다!!!

위의 동영상에서 찾은 내용은, short 의 원인은 조밀한 SMD chip 의 다리 안쪽에 여분의 납들이 서로 엉겨붙어 short 를 내는 내용이었습니다. 유레카!

바로 DIY 하고 있는 Mega 2560 의 MCU 다리들에 플럭스 발라서 납을 재정비 해 줬습니다. 처음 한 번 하긴 했었는데, 이번에는 차근차근 세밀하게 작업 했습니다.

OMG! 쇼트 현상이 사라졌습니다!!! 그렇습니다, 보이지 않은 안 쪽 납들이 원인이었던 것이였네요.


6. Issues - ATMEGA16U2

USB Controller 인 ATMEGA16U2 의 인식이 전혀 안되더군요. 일단 사용하려면 ICSP 를 통하여 USB 통신용 firmware 를 얹어야 하는데, 일단 인식이 되지 않습니다.

오만 짓을 다 해보다, 결국 Digi-Key 의 정품으로 교체를 시도하게 됩니다.

이번에는 오픈에 굽지 않고, 새로 얹혀질 chip 다리 부분에 플럭스를 바르고 납을 먼저 발라 줍니다.

한 쪽은 이쁘게 붙었지만, 틀어져 버렸습니다.

붙였다 떼었다를 반복하길 세 번. 겨우 만족할 만한 결과물이 나옵니다.

마음에 들지 않지만, 필요한 패턴은 문제 없이 모두 통전 문제 없음 확인 완료.

Pin header 쪽은 칼팁으로 자주 긁었더니만 많이 날아가 버렸네요. 그래도 필요한 부분은 단 두 곳이라, 문제 없이 잘 붙어 주었습니다.

서툰 작업으로 모서리가 갈려 나갔습니다. 그래도 동작에는 문제가 없어서 다행.

결국 문제를 모두 해결했습니다.

다만, 다음에 비슷한 작업을 해야할 경우는 노출된 부분이 없더라도, 아래 사진 처럼 다리들이 chip 밑부분이 아니라 바깥 쪽으로 납땜이 될 수 있도록 PCB 의 마스킹 부분을 긁어 내어 쉽게 안착이 될 수 있도록 선 작업을 해야 겠네요.

PCB 디자인 시에도 이런 chip 들은 바로 아래가 아니라 옆으로 납땜이 될 수 있도록 작업 해야겠습니다.


7. Firmware - ATMEGA16U

하드웨어 부분은 모두 정상으로 만들었으니, 이제 firmware 및 bootloader 를 올릴 차례 입니다.

Command line 으로 직접 시도해 봤으나, Windows 10 에서는 권한이 까다로워져 파일 접근 문제가 발생 하는 등, 여러가지 문제가 발목을 잡습니다. 그래서 다음 수순으로 작업 합니다.

A. Arduino IDE 폴더를 통으로 개인 폴더로 copy
B. boards.txt 에 항목 추가
C. 관련 firmware file 을 bootloaders 폴더에 copy
D. 위 A에서 복사한 Arduino IDE 에서 m16u2 용 bootloader 작업

우선, A 작업이 끝나면, boards.txt 에 아래 내용을 copy 합니다.


mega16u2.name=MEGA 16U2 Restore Firmware

mega16u2.upload.tool=avrdude
mega16u2.upload.protocol=arduino

mega16u2.bootloader.tool=avrdude
mega16u2.bootloader.low_fuses=0xEF
mega16u2.bootloader.high_fuses=0xD9
mega16u2.bootloader.extended_fuses=0xF4
mega16u2.bootloader.file=Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex
mega16u2.bootloader.unlock_bits=0x3F
mega16u2.bootloader.lock_bits=0xFF

mega16u2.build.mcu=atmega16u2
mega16u2.build.f_cpu=16000000L
mega16u2.build.board=AVR_MEGA2560
mega16u2.build.core=arduino
mega16u2.build.variant=mega


이후, "Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex" 파일을 bootloaders 폴더에 복사해 놓습니다.

FROM : ... hardware > arduino > avr > firmwares

TO : ... hardware > arduino > avr > bootloaders

이제, 따로 복사한 Arduino IDE 를 실행시키면, 위에서 등록했던 메뉴가 하나 더 나옵니다.

이미 다른 작업에서 했던 것 처럼, Burn Bootloader 를 선택하면 됩니다.

물론, 이 작업을 위해서 다른 Arduino 를 이용하여 ICSP 연결을 해야 하며, 해당 Arduino 는 ArduinoISP 소스가 올라가 있어야 하며, IDE 에서 Programmer 를 "Arduino as ISP" 를 선택한 상황에서 작업이 진행되어야 합니다. 문제 없으면, 아래 처럼 firmware 가 올라 갔습니다~!

기록을 위해 길지만 남겨 놓습니다.


R:\arduino\hardware\tools\avr/bin/avrdude -CR:\arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega16u2 -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xF4:m -Uhfuse:w:0xD9:m -Ulfuse:w:0xEF:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "R:\arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega16U2
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC6
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no        512    4    128  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     16384  128    128  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9489 (probably m16u2)
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xF4"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xF4:
avrdude: load data efuse data from input file 0xF4:
avrdude: input file 0xF4 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xD9"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD9:
avrdude: load data hfuse data from input file 0xD9:
avrdude: input file 0xD9 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xEF"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xEF:
avrdude: load data lfuse data from input file 0xEF:
avrdude: input file 0xEF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

R:\arduino\hardware\tools\avr/bin/avrdude -CR:\arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega16u2 -cstk500v1 -PCOM7 -b19200 -Uflash:w:R:\arduino\hardware\arduino\avr/bootloaders/Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex:i -Ulock:w:0xFF:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "R:\arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega16U2
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC6
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no        512    4    128  9000  9000 0x00 0x00
           flash         65     6   128    0 yes     16384  128    128  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9489 (probably m16u2)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "R:\arduino\hardware\arduino\avr/bootloaders/Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex"
avrdude: writing flash (15668 bytes):

Writing | ################################################## | 100% 4.49s

avrdude: 15668 bytes of flash written
avrdude: verifying flash memory against R:\arduino\hardware\arduino\avr/bootloaders/Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex:
avrdude: load data flash data from input file R:\arduino\hardware\arduino\avr/bootloaders/Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex:
avrdude: input file R:\arduino\hardware\arduino\avr/bootloaders/Arduino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-Rev3.hex contains 15668 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 2.45s

avrdude: verifying ...
avrdude: 15668 bytes of flash verified
avrdude: reading input file "0xFF"
avrdude: writing lock (1 bytes):

Writing |  ***failed;  
################################################## | 100% 0.09s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0xFF:
avrdude: load data lock data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "lock", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0x3f instead of 0xff (double check with your datasheet first).
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.


Lock bit 에 대한 failed 및 WARNING 은 무시해도 됩니다. 이미 FF 로 해 놔서, 문제될 부분은 없어 보입니다. 동영상 올려 봅니다.

하드웨어만 해결하면 되는 줄 알았는데, software 에서 발생하는 문제를 해결하는 데까지 정말 오래 걸렸네요. 다행인건, 예전 ICSP 를 이용한 bootloader 입히는 것이나, Arduino IDE 접근 문제 등을 이미 경험해 놔서, 조금 수월하게 넘어 갔습니다.

이제 USB 를 PC 와 연결해 보면, 아래 처럼 인식 됩니다~!!!


7. Bootloader - ATMEGA2560

이제 대망의 ATMEGA2560 bootloader 올리기 입니다. 여기까지 오면 다 온거죠.

ATMEGA2560 옆에 있는 ICSP 를 통해 bootloader 입혀주기만 하면 끝 입니다. 일반적으로 사용되는 Arduino bootloader 작업 입니다.

Board 를 Mega 2560 으로 선택, Programmer 는 ISP 로 설정 후, Burn Bootloader 하면 끝.


성공 동영상도 올려 봅니다.


비슷한 작업 과정은 인터넷 및 저의 blog 에 아주 많이 있으나, 결과 log 도 기록으로 남겨 놓습니다.



C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avrdude -CC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xFD"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xFD:
avrdude: load data efuse data from input file 0xFD:
avrdude: input file 0xFD contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xD8"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xFF"
avrdude: writing lfuse (1 bytes):

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avrdude -CC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:i -Ulock:w:0x0F:m 
Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.


avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM7
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex"
avrdude: writing flash (261406 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 261406 bytes of flash written
avrdude: verifying flash memory against C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: load data flash data from input file C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex:
avrdude: input file C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex contains 261406 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 261406 bytes of flash verified
avrdude: reading input file "0x0F"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.


완성 했습니다~~~~~~~~!!!! 오래 걸렸다~!

Port 선택 후, Get Board Info 해보면, ATMEGA2560 의 자세한 정보도 나옵니다.

의심했던 ATMEAG2560 은 문제 없는 chip 이었습니다.


8. Sketch upload

최종 확인해 봅니다. Programmer 를 원래 대로 되돌려 놓고, Blink 소스를 올려 봅니다.


모든게 순조롭다!

기록을 위해 log 도 올립니다.


avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.45.0_x86__mdqgnx93n4wtt\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM8
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Wiring
         Description     : Wiring
         Programmer Model: AVRISP
         Hardware Version: 15
         Firmware Version Master : 2.10
         Vtarget         : 0.0 V
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "C:\Users\user\AppData\Local\Temp\arduino_build_767535/Atmega_Self_Read_Signature.ino.hex"
avrdude: writing flash (22088 bytes):

Writing | ################################################## | 100% 3.57s

avrdude: 22088 bytes of flash written
avrdude: verifying flash memory against C:\Users\user\AppData\Local\Temp\arduino_build_767535/Atmega_Self_Read_Signature.ino.hex:
avrdude: load data flash data from input file C:\Users\user\AppData\Local\Temp\arduino_build_767535/Atmega_Self_Read_Signature.ino.hex:
avrdude: input file C:\Users\user\AppData\Local\Temp\arduino_build_767535/Atmega_Self_Read_Signature.ino.hex contains 22088 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 2.85s

avrdude: verifying ...
avrdude: 22088 bytes of flash verified

avrdude done.  Thank you.


감격의 동영상도 올려 봅니다.


9. Board Detector

그대로 끝내기엔 1년 반의 시간이 아쉬우니, Board Detector 를 실행해 봅니다. Board Detector 는 다른 글에서 포스팅 되어 있습니다.

소스를 올려서 실행 시키면, 아래와 같은 결과를 냅니다. 기록을 위해 올려 놓습니다.


Atmega chip detector.
Written by Nick Gammon.
Version 1.20
Compiled on May 15 2021 at 16:34:33 with Arduino IDE 10814.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x94 0x89 
Processor = ATmega16U2
Flash memory size = 16384 bytes.
LFuse = 0xEF 
HFuse = 0xD9 
EFuse = 0xF4 
Lock byte = 0xFF 
Clock calibration = 0x53 
Bootloader in use: No
EEPROM preserved through erase: No
Watchdog timer always on: No
Bootloader is 4096 bytes starting at 3000

Bootloader:

3000: 0x4B 0xC0 0x00 0x00 0x64 0xC0 0x00 0x00 0x62 0xC0 0x00 0x00 0x60 0xC0 0x00 0x00 
3010: 0x5E 0xC0 0x00 0x00 0x5C 0xC0 0x00 0x00 0x5A 0xC0 0x00 0x00 0x58 0xC0 0x00 0x00 
3020: 0x56 0xC0 0x00 0x00 0x54 0xC0 0x00 0x00 0x52 0xC0 0x00 0x00 0xEE 0xC4 0x00 0x00 
3030: 0x4E 0xC0 0x00 0x00 0x4C 0xC0 0x00 0x00 0x4A 0xC0 0x00 0x00 0x48 0xC0 0x00 0x00 
3040: 0x46 0xC0 0x00 0x00 0x44 0xC0 0x00 0x00 0x42 0xC0 0x00 0x00 0x40 0xC0 0x00 0x00 
3050: 0x3E 0xC0 0x00 0x00 0x3C 0xC0 0x00 0x00 0x3A 0xC0 0x00 0x00 0x38 0xC0 0x00 0x00 
3060: 0x36 0xC0 0x00 0x00 0x34 0xC0 0x00 0x00 0x32 0xC0 0x00 0x00 0x30 0xC0 0x00 0x00 
3070: 0x2E 0xC0 0x00 0x00 0x2C 0xC0 0x00 0x00 0x2A 0xC0 0x00 0x00 0x28 0xC0 0x00 0x00 
3080: 0x26 0xC0 0x00 0x00 0x24 0xC0 0x00 0x00 0x22 0xC0 0x00 0x00 0x20 0xC0 0x00 0x00 
3090: 0x1E 0xC0 0x00 0x00 0x1C 0xC0 0x00 0x00 0x11 0x24 0x1F 0xBE 0xCF 0xEF 0xD2 0xE0 
30A0: 0xDE 0xBF 0xCD 0xBF 0x11 0xE0 0xA0 0xE0 0xB1 0xE0 0xEA 0xEF 0xFC 0xE3 0x02 0xC0 
30B0: 0x05 0x90 0x0D 0x92 0xAA 0x33 0xB1 0x07 0xD9 0xF7 0x11 0xE0 0xAA 0xE3 0xB1 0xE0 
30C0: 0x01 0xC0 0x1D 0x92 0xAB 0x35 0xB1 0x07 0xE1 0xF7 0x72 0xD3 0x14 0xC6 0x98 0xCF 
30D0: 0x98 0x2F 0x15 0xC0 0x80 0x91 0xF2 0x00 0x88 0x23 0x71 0xF4 0x80 0x91 0xE8 0x00 
30E0: 0x8B 0x7F 0x80 0x93 0xE8 0x00 0x03 0xC0 0x8E 0xB3 0x88 0x23 0x51 0xF0 0x80 0x91 
30F0: 0xE8 0x00 0x82 0xFF 0xF9 0xCF 0x02 0xC0 0x80 0x91 0xF1 0x00 0x91 0x50 0x99 0x23 
3100: 0x49 0xF7 0x08 0x95 0x20 0x91 0x4A 0x01 0x30 0x91 0x49 0x01 0x80 0x91 0x48 0x01 
3110: 0x90 0x91 0x47 0x01 0x80 0x93 0x3F 0x01 0x90 0x93 0x40 0x01 0xC9 0x01 0x80 0x93 
3120: 0x41 0x01 0x90 0x93 0x42 0x01 0x08 0x95 0xDF 0x93 0xCF 0x93 0x00 0xD0 0x00 0xD0 
3130: 0x00 0xD0 0xCD 0xB7 0xDE 0xB7 0x80 0x91 0x45 0x01 0x84 0x30 0x09 0xF4 0x5A 0xC0 
3140: 0x85 0x30 0x30 0xF4 0x81 0x30 0x59 0xF0 0x83 0x30 0x09 0xF0 0xD7 0xC0 0x1F 0xC0 
3150: 0x85 0x30 0x09 0xF4 0xA0 0xC0 0x86 0x30 0x09 0xF0 0xD0 0xC0 0xC3 0xC0 0x80 0x91 
3160: 0x46 0x01 0x82 0x30 0x08 0xF0 0xCA 0xC0 0xCD 0xDF 0x80 0x91 0x46 0x01 0x88 0x23 
3170: 0x61 0xF4 0x80 0x91 0x3F 0x01 0x90 0x91 0x40 0x01 0x23 0xE0 0xFC 0x01 0x20 0x93 
3180: 0x57 0x00 0xE8 0x95 0x07 0xB6 0x00 0xFC 0xFD 0xCF 0x85 0xE0 0x08 0xC0 0x80 0x91 
3190: 0x46 0x01 0x88 0x23 0x11 0xF0 0x82 0x30 0x29 0xF4 0xB4 0xDF 0x89 0xE0 0x80 0x93 
31A0: 0x01 0x01 0xAC 0xC0 0x81 0x30 0x09 0xF0 0xA9 0xC0 0x20 0xE0 0x30 0xE0 0x40 0xE0 
31B0: 0x50 0xE0 0xF9 0x01 0x84 0x91 0x8F 0x3F 0x81 0xF0 0xCA 0x01 0xAA 0x27 0xBB 0x27 
31C0: 0x80 0x93 0x3E 0x01 0x30 0x93 0x40 0x01 0x20 0x93 0x3F 0x01 0x8A 0xE0 0x80 0x93 
31D0: 0x01 0x01 0x85 0xE0 0x80 0x93 0x3B 0x01 0x91 0xC0 0x2F 0x5F 0x3F 0x4F 0x4F 0x4F 
31E0: 0x5F 0x4F 0x20 0x30 0xF0 0xE3 0x3F 0x07 0xF0 0xE0 0x4F 0x07 0xF0 0xE0 0x5F 0x07 
31F0: 0x01 0xF7 0x84 0xC0 0x80 0x91 0x46 0x01 0x83 0x30 0x51 0xF5 0x81 0xE0 0x80 0x93 
3200: 0x3A 0x01 0x80 0x91 0x4B 0x01 0x90 0x91 0x4C 0x01 0x89 0x2B 0x71 0xF0 0x80 0x91 
3210: 0x47 0x01 0x81 0x30 0x09 0xF0 0x72 0xC0 0x80 0x91 0x4A 0x01 0x90 0x91 0x49 0x01 
3220: 0x90 0x93 0x3D 0x01 0x80 0x93 0x3C 0x01 0x69 0xC0 0x80 0x91 0x47 0x01 0x88 0x23 
3230: 0x61 0xF4 0x2C 0xE0 0x88 0xE1 0x90 0xE0 0x0F 0xB6 0xF8 0x94 0xA8 0x95 0x80 0x93 
3240: 0x60 0x00 0x0F 0xBE 0x20 0x93 0x60 0x00 0x59 0xC0 0x10 0x92 0x00 0x01 0x56 0xC0 
3250: 0x88 0x23 0x09 0xF0 0x53 0xC0 0x80 0x91 0x47 0x01 0x8F 0x3F 0x09 0xF0 0x4E 0xC0 
3260: 0xE0 0xE0 0xF0 0xE0 0x93 0xE0 0x85 0xE0 0x90 0x93 0x57 0x00 0xE8 0x95 0x07 0xB6 
3270: 0x00 0xFC 0xFD 0xCF 0x80 0x93 0x57 0x00 0xE8 0x95 0x07 0xB6 0x00 0xFC 0xFD 0xCF 
3280: 0xE0 0x58 0xFF 0x4F 0x20 0xE3 0xE0 0x30 0xF2 0x07 0x71 0xF7 0x81 0xE1 0x80 0x93 
3290: 0x57 0x00 0xE8 0x95 0x33 0xC0 0xDE 0x01 0x11 0x96 0xE5 0xE0 0xF1 0xE0 0x83 0xE0 
32A0: 0x01 0x90 0x0D 0x92 0x81 0x50 0xE1 0xF7 0xDE 0x01 0x14 0x96 0xE2 0xE0 0xF1 0xE0 
32B0: 0x83 0xE0 0x01 0x90 0x0D 0x92 0x81 0x50 0xE1 0xF7 0x90 0x91 0x47 0x01 0x80 0x91 
32C0: 0x46 0x01 0x88 0x23 0x29 0xF4 0xFE 0x01 0xE9 0x0F 0xF1 0x1D 0x81 0x81 0x07 0xC0 
32D0: 0x81 0x30 0xA1 0xF4 0xFE 0x01 0xBC 0x97 0xE9 0x0F 0xF1 0x1D 0x80 0x81 0x80 0x93 
32E0: 0x50 0x01 0x0C 0xC0 0x80 0x91 0x46 0x01 0x83 0x30 0x41 0xF4 0x80 0x91 0x47 0x01 
32F0: 0x88 0x23 0x21 0xF4 0x80 0x91 0x48 0x01 0x80 0x93 0x3E 0x01 0x26 0x96 0x0F 0xB6 
3300: 0xF8 0x94 0xDE 0xBF 0x0F 0xBE 0xCD 0xBF 0xCF 0x91 0xDF 0x91 0x08 0x95 0x2F 0x92 
3310: 0x3F 0x92 0x4F 0x92 0x5F 0x92 0x6F 0x92 0x7F 0x92 0x9F 0x92 0xAF 0x92 0xBF 0x92 
3320: 0xCF 0x92 0xDF 0x92 0xEF 0x92 0xFF 0x92 0x0F 0x93 0x1F 0x93 0xCF 0x93 0xDF 0x93 
3330: 0x80 0x91 0x59 0x01 0x90 0x91 0x5A 0x01 0x90 0x93 0x4C 0x01 0x80 0x93 0x4B 0x01 
3340: 0x80 0x91 0x4D 0x01 0x88 0x23 0x51 0xF0 0x80 0x91 0x4D 0x01 0x81 0x50 0x80 0x93 
3350: 0x4D 0x01 0x80 0x91 0x4D 0x01 0x88 0x23 0x09 0xF4 0x5D 0x9A 0x80 0x91 0x4E 0x01 
3360: 0x88 0x23 0x51 0xF0 0x80 0x91 0x4E 0x01 0x81 0x50 0x80 0x93 0x4E 0x01 0x80 0x91 
3370: 0x4E 0x01 0x88 0x23 0x09 0xF4 0x5C 0x9A 0x80 0x91 0x54 0x01 0x83 0x30 0x09 0xF4 
3380: 0xB2 0xC1 0x84 0x30 0x30 0xF4 0x81 0x30 0x71 0xF0 0x82 0x30 0x09 0xF0 0xE3 0xC1 
3390: 0x11 0xC1 0x85 0x30 0x09 0xF4 0xC5 0xC1 0x85 0x30 0x08 0xF4 0xBA 0xC1 0x86 0x30 
33A0: 0x09 0xF0 0xD9 0xC1 0xCD 0xC1 0x5C 0x98 0x83 0xE0 0x80 0x93 0x4E 0x01 0x80 0x91 
33B0: 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x80 0x91 0x3A 0x01 0x88 0x23 0x29 0xF0 
33C0: 0xB3 0xDE 0x5D 0x9A 0x5C 0x9A 0x10 0x92 0x3A 0x01 0x20 0x91 0x4B 0x01 0x30 0x91 
33D0: 0x4C 0x01 0x21 0x15 0x31 0x05 0x29 0xF4 0x2A 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 
33E0: 0xBA 0xC1 0x80 0x91 0xE8 0x00 0x82 0xFF 0xF8 0xCF 0x80 0x91 0xF1 0x00 0x80 0x93 
33F0: 0x45 0x01 0x21 0x50 0x30 0x40 0x30 0x93 0x4C 0x01 0x20 0x93 0x4B 0x01 0xE6 0xE4 
3400: 0xF1 0xE0 0x0C 0xC0 0x80 0x91 0xF1 0x00 0x81 0x93 0x21 0x50 0x30 0x40 0x81 0xE0 
3410: 0xEB 0x34 0xF8 0x07 0x19 0xF4 0x31 0x83 0x20 0x83 0x08 0xC0 0x80 0x91 0xF2 0x00 
3420: 0x88 0x23 0x81 0xF7 0x30 0x93 0x4C 0x01 0x20 0x93 0x4B 0x01 0x7D 0xDE 0x80 0x91 
3430: 0x01 0x01 0x85 0x30 0x09 0xF0 0xBA 0xC0 0x80 0x91 0x4B 0x01 0x90 0x91 0x4C 0x01 
3440: 0x89 0x2B 0x21 0xF4 0x82 0xE0 0x80 0x93 0x01 0x01 0xB0 0xC0 0x8A 0xE1 0x40 0xDE 
3450: 0x80 0x91 0x3F 0x01 0x8F 0x71 0x3C 0xDE 0xC0 0x91 0x41 0x01 0xD0 0x91 0x42 0x01 
3460: 0x20 0x91 0x3F 0x01 0x30 0x91 0x40 0x01 0x21 0x96 0x8E 0x01 0x02 0x1B 0x13 0x0B 
3470: 0x21 0x97 0x80 0x91 0x46 0x01 0x88 0x23 0x09 0xF0 0x93 0xC0 0x18 0x01 0x36 0x94 
3480: 0x27 0x94 0xC9 0x01 0xA0 0x91 0x3E 0x01 0xB0 0xE0 0x9C 0x01 0xAD 0x01 0x62 0xE0 
3490: 0xE6 0x2E 0xF1 0x2C 0x01 0x2D 0x11 0x2D 0xE2 0x0E 0xF3 0x1E 0x04 0x1F 0x15 0x1F 
34A0: 0x59 0x01 0x6A 0x01 0x90 0xE0 0x99 0x24 0x93 0x94 0xB5 0xE0 0xA3 0xE0 0x48 0xC0 
34B0: 0x80 0x91 0xF2 0x00 0x88 0x23 0x71 0xF4 0x80 0x91 0xE8 0x00 0x8B 0x7F 0x80 0x93 
34C0: 0xE8 0x00 0x04 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 0x45 0xC1 0x80 0x91 0xE8 0x00 
34D0: 0x82 0xFF 0xF8 0xCF 0x08 0x94 0x21 0x08 0x31 0x08 0x80 0x91 0xF1 0x00 0x68 0x2F 
34E0: 0x80 0x91 0xF1 0x00 0x78 0x2F 0xF5 0x01 0x0B 0x01 0x90 0x92 0x57 0x00 0xE8 0x95 
34F0: 0x11 0x24 0x9F 0x5F 0x90 0x34 0x19 0xF0 0x21 0x14 0x31 0x04 0xA1 0xF4 0xF9 0x01 
3500: 0xB0 0x93 0x57 0x00 0xE8 0x95 0x07 0xB6 0x00 0xFC 0xFD 0xCF 0x21 0x14 0x31 0x04 
3510: 0x51 0xF0 0xF7 0x01 0xA0 0x93 0x57 0x00 0xE8 0x95 0x07 0xB6 0x00 0xFC 0xFD 0xCF 
3520: 0xA8 0x01 0x97 0x01 0x90 0xE0 0x42 0xE0 0x44 0x2E 0x51 0x2C 0x61 0x2C 0x71 0x2C 
3530: 0xE4 0x0C 0xF5 0x1C 0x06 0x1D 0x17 0x1D 0xA4 0x0C 0xB5 0x1C 0xC6 0x1C 0xD7 0x1C 
3540: 0x21 0x14 0x31 0x04 0x09 0xF0 0xB4 0xCF 0xD0 0x93 0x40 0x01 0xC0 0x93 0x3F 0x01 
3550: 0x81 0xE1 0x80 0x93 0x57 0x00 0xE8 0x95 0x27 0xC0 0x80 0x91 0xF2 0x00 0x88 0x23 
3560: 0x71 0xF4 0x80 0x91 0xE8 0x00 0x8B 0x7F 0x80 0x93 0xE8 0x00 0x04 0xC0 0x8E 0xB3 
3570: 0x88 0x23 0x09 0xF4 0xF0 0xC0 0x80 0x91 0xE8 0x00 0x82 0xFF 0xF8 0xCF 0x60 0x91 
3580: 0xF1 0x00 0x80 0x91 0x3F 0x01 0x90 0x91 0x40 0x01 0xA7 0xD3 0x80 0x91 0x3F 0x01 
3590: 0x90 0x91 0x40 0x01 0x01 0x96 0x90 0x93 0x40 0x01 0x80 0x93 0x3F 0x01 0x01 0x50 
35A0: 0x10 0x40 0x01 0x15 0x11 0x05 0xC9 0xF6 0x80 0xE1 0x92 0xDD 0x80 0x91 0xE8 0x00 
35B0: 0x8B 0x7F 0xC3 0xC0 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x5D 0x98 
35C0: 0x83 0xE0 0x80 0x93 0x4D 0x01 0x04 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 0xC3 0xC0 
35D0: 0x80 0x91 0xE8 0x00 0x80 0xFF 0xF8 0xCF 0x80 0x91 0x01 0x01 0x89 0x30 0x91 0xF0 
35E0: 0x8A 0x30 0x69 0xF4 0x80 0x91 0x46 0x01 0x81 0x30 0x49 0xF4 0x80 0x91 0x3F 0x01 
35F0: 0x90 0x91 0x40 0x01 0x80 0x93 0xF1 0x00 0x90 0x93 0xF1 0x00 0x9B 0xC0 0x80 0x91 
3600: 0x50 0x01 0x96 0xC0 0x60 0x91 0x41 0x01 0x70 0x91 0x42 0x01 0x20 0x91 0x3F 0x01 
3610: 0x30 0x91 0x40 0x01 0x6F 0x5F 0x7F 0x4F 0x7B 0x01 0xE2 0x1A 0xF3 0x0A 0x61 0x50 
3620: 0x70 0x40 0x80 0x91 0x46 0x01 0x88 0x23 0x89 0xF5 0x87 0x01 0x16 0x95 0x07 0x95 
3630: 0xC9 0x01 0xA0 0x91 0x3E 0x01 0xB0 0xE0 0x9C 0x01 0xAD 0x01 0x1F 0xC0 0x80 0x91 
3640: 0xF2 0x00 0x80 0x32 0x71 0xF4 0x80 0x91 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 
3650: 0x04 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 0x7E 0xC0 0x80 0x91 0xE8 0x00 0x80 0xFF 
3660: 0xF8 0xCF 0xF9 0x01 0x85 0x91 0x94 0x91 0x80 0x93 0xF1 0x00 0x90 0x93 0xF1 0x00 
3670: 0x01 0x50 0x10 0x40 0x2E 0x5F 0x3F 0x4F 0x4F 0x4F 0x5F 0x4F 0x01 0x15 0x11 0x05 
3680: 0xF1 0xF6 0x70 0x93 0x40 0x01 0x60 0x93 0x3F 0x01 0x29 0xC0 0x82 0x30 0x39 0xF5 
3690: 0x23 0xC0 0x80 0x91 0xF2 0x00 0x80 0x32 0x71 0xF4 0x80 0x91 0xE8 0x00 0x8E 0x7F 
36A0: 0x80 0x93 0xE8 0x00 0x04 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 0x54 0xC0 0x80 0x91 
36B0: 0xE8 0x00 0x80 0xFF 0xF8 0xCF 0x00 0x91 0x3F 0x01 0x10 0x91 0x40 0x01 0xC8 0x01 
36C0: 0x04 0xD3 0x80 0x93 0xF1 0x00 0x0F 0x5F 0x1F 0x4F 0x10 0x93 0x40 0x01 0x00 0x93 
36D0: 0x3F 0x01 0x08 0x94 0xE1 0x08 0xF1 0x08 0xE1 0x14 0xF1 0x04 0xD1 0xF6 0x82 0xE0 
36E0: 0x80 0x93 0x01 0x01 0x27 0xC0 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 
36F0: 0x80 0x91 0x3B 0x01 0x80 0x93 0xF1 0x00 0x10 0x92 0xF1 0x00 0x10 0x92 0xF1 0x00 
3700: 0x10 0x92 0xF1 0x00 0x80 0x91 0x01 0x01 0x80 0x93 0xF1 0x00 0x10 0x92 0xF1 0x00 
3710: 0x11 0xC0 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x10 0x92 0x3B 0x01 
3720: 0x19 0xC0 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x80 0x91 0x01 0x01 
3730: 0x80 0x93 0xF1 0x00 0x80 0x91 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 0x0A 0xC0 
3740: 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x5D 0x9A 0x5C 0x9A 0x82 0xE0 
3750: 0x80 0x93 0x01 0x01 0x87 0xD0 0xDF 0x91 0xCF 0x91 0x1F 0x91 0x0F 0x91 0xFF 0x90 
3760: 0xEF 0x90 0xDF 0x90 0xCF 0x90 0xBF 0x90 0xAF 0x90 0x9F 0x90 0x7F 0x90 0x6F 0x90 
3770: 0x5F 0x90 0x4F 0x90 0x3F 0x90 0x2F 0x90 0x08 0x95 0x2B 0xD1 0x81 0xE0 0x85 0xBF 
3780: 0x15 0xBE 0x08 0x95 0x84 0xB7 0x87 0x7F 0x84 0xBF 0x88 0xE1 0x0F 0xB6 0xF8 0x94 
3790: 0x80 0x93 0x60 0x00 0x10 0x92 0x60 0x00 0x0F 0xBE 0x81 0xE0 0x85 0xBF 0x82 0xE0 
37A0: 0x85 0xBF 0x8A 0xB1 0x80 0x63 0x8A 0xB9 0x8B 0xB1 0x80 0x63 0x8B 0xB9 0x0C 0xC1 
37B0: 0xE9 0xDF 0x78 0x94 0x01 0xC0 0x80 0xD2 0x80 0x91 0x00 0x01 0x88 0x23 0xD9 0xF7 
37C0: 0x80 0x91 0x3A 0x01 0x88 0x23 0xB9 0xF7 0xD8 0xDF 0xE0 0x91 0x3C 0x01 0xF0 0x91 
37D0: 0x3D 0x01 0x09 0x95 0xFA 0x01 0x92 0x30 0x71 0xF0 0x93 0x30 0x89 0xF0 0x91 0x30 
37E0: 0x29 0xF4 0x88 0xE0 0x91 0xE0 0x22 0xE1 0x30 0xE0 0x19 0xC0 0x80 0xE0 0x90 0xE0 
37F0: 0x20 0xE0 0x30 0xE0 0x14 0xC0 0x8A 0xE1 0x91 0xE0 0x2B 0xE1 0x30 0xE0 0x0F 0xC0 
3800: 0x88 0x23 0x39 0xF4 0x80 0x91 0x35 0x01 0x28 0x2F 0x30 0xE0 0x85 0xE3 0x91 0xE0 
3810: 0x06 0xC0 0x80 0x91 0x43 0x01 0x28 0x2F 0x30 0xE0 0x83 0xE4 0x91 0xE0 0x91 0x83 
3820: 0x80 0x83 0xC9 0x01 0x08 0x95 0x80 0x91 0xEB 0x00 0x81 0x60 0x80 0x93 0xEB 0x00 
3830: 0x10 0x92 0xED 0x00 0x60 0x93 0xEC 0x00 0x40 0x93 0xED 0x00 0x80 0x91 0xEE 0x00 
3840: 0x88 0x1F 0x88 0x27 0x88 0x1F 0x08 0x95 0x10 0x92 0xF4 0x00 0x10 0x92 0xF0 0x00 
3850: 0x10 0x92 0xE8 0x00 0x10 0x92 0xED 0x00 0xEB 0xEE 0xF0 0xE0 0x80 0x81 0x8E 0x7F 
3860: 0x80 0x83 0x08 0x95 0x80 0x91 0x53 0x01 0x88 0x23 0x8C 0xF4 0x03 0xC0 0x8E 0xB3 
3870: 0x88 0x23 0xB1 0xF0 0x80 0x91 0xE8 0x00 0x82 0xFF 0xF9 0xCF 0x80 0x91 0xE8 0x00 
3880: 0x8B 0x7F 0x80 0x93 0xE8 0x00 0x08 0x95 0x8E 0xB3 0x88 0x23 0x49 0xF0 0x80 0x91 
3890: 0xE8 0x00 0x80 0xFF 0xF9 0xCF 0x80 0x91 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 
38A0: 0x08 0x95 0x9C 0x01 0x40 0x91 0x59 0x01 0x50 0x91 0x5A 0x01 0x46 0x17 0x57 0x07 
38B0: 0x18 0xF4 0xF9 0x01 0x20 0xE0 0x38 0xC0 0x61 0x15 0x71 0x05 0x11 0xF0 0xAB 0x01 
38C0: 0xF8 0xCF 0x80 0x91 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 0x40 0xE0 0x50 0xE0 
38D0: 0xF0 0xCF 0x80 0x91 0xE8 0x00 0x83 0xFF 0x02 0xC0 0x81 0xE0 0x08 0x95 0x80 0x91 
38E0: 0xE8 0x00 0x82 0xFD 0x2D 0xC0 0x8E 0xB3 0x88 0x23 0x81 0xF1 0x8E 0xB3 0x85 0x30 
38F0: 0x79 0xF1 0x80 0x91 0xE8 0x00 0x80 0xFF 0x17 0xC0 0x90 0x91 0xF2 0x00 0x06 0xC0 
3900: 0x81 0x91 0x80 0x93 0xF1 0x00 0x41 0x50 0x50 0x40 0x9F 0x5F 0x41 0x15 0x51 0x05 
3910: 0x11 0xF0 0x90 0x32 0xA8 0xF3 0x20 0xE0 0x90 0x32 0x09 0xF4 0x21 0xE0 0x80 0x91 
3920: 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 0x41 0x15 0x51 0x05 0x91 0xF6 0x22 0x23 
3930: 0x81 0xF6 0x06 0xC0 0x8E 0xB3 0x88 0x23 0x49 0xF0 0x8E 0xB3 0x85 0x30 0x41 0xF0 
3940: 0x80 0x91 0xE8 0x00 0x82 0xFF 0xF6 0xCF 0x80 0xE0 0x08 0x95 0x82 0xE0 0x08 0x95 
3950: 0x83 0xE0 0x08 0x95 0x54 0xD0 0x56 0xD0 0x1E 0xBA 0x10 0x92 0x51 0x01 0x84 0xE0 
3960: 0x89 0xBD 0x89 0xB5 0x82 0x60 0x89 0xBD 0x09 0xB4 0x00 0xFE 0xFD 0xCF 0x80 0x91 
3970: 0xD8 0x00 0x98 0x2F 0x9F 0x77 0x90 0x93 0xD8 0x00 0x80 0x68 0x80 0x93 0xD8 0x00 
3980: 0x80 0x91 0x63 0x00 0x8E 0x7F 0x80 0x93 0x63 0x00 0x80 0x91 0xD8 0x00 0x8F 0x7D 
3990: 0x80 0x93 0xD8 0x00 0x80 0x91 0xE0 0x00 0x8E 0x7F 0x80 0x93 0xE0 0x00 0x80 0x91 
39A0: 0xE1 0x00 0x8E 0x7F 0x80 0x93 0xE1 0x00 0x80 0x91 0xE2 0x00 0x81 0x60 0x80 0x93 
39B0: 0xE2 0x00 0x80 0x91 0xE1 0x00 0x87 0x7F 0x80 0x93 0xE1 0x00 0x80 0x91 0xE2 0x00 
39C0: 0x88 0x60 0x80 0x93 0xE2 0x00 0x08 0x95 0xC5 0xDF 0x81 0xE0 0x80 0x93 0x52 0x01 
39D0: 0x08 0x95 0xC0 0xDF 0xE0 0xEE 0xF0 0xE0 0x80 0x81 0x81 0x60 0x80 0x83 0xE8 0xED 
39E0: 0xF0 0xE0 0x80 0x81 0x8F 0x77 0x80 0x83 0x0A 0xD0 0x0C 0xD0 0x19 0xBC 0xE3 0xE6 
39F0: 0xF0 0xE0 0x80 0x81 0x81 0x60 0x80 0x83 0x10 0x92 0x52 0x01 0x08 0x95 0x10 0x92 
3A00: 0xE2 0x00 0x08 0x95 0x10 0x92 0xE1 0x00 0x08 0x95 0x1F 0x92 0x0F 0x92 0x0F 0xB6 
3A10: 0x0F 0x92 0x11 0x24 0x2F 0x93 0x3F 0x93 0x4F 0x93 0x5F 0x93 0x6F 0x93 0x7F 0x93 
3A20: 0x8F 0x93 0x9F 0x93 0xAF 0x93 0xBF 0x93 0xEF 0x93 0xFF 0x93 0x80 0x91 0xE1 0x00 
3A30: 0x80 0xFF 0x1B 0xC0 0x80 0x91 0xE2 0x00 0x80 0xFF 0x17 0xC0 0x80 0x91 0xE1 0x00 
3A40: 0x8E 0x7F 0x80 0x93 0xE1 0x00 0x80 0x91 0xE2 0x00 0x8E 0x7F 0x80 0x93 0xE2 0x00 
3A50: 0x80 0x91 0xE2 0x00 0x80 0x61 0x80 0x93 0xE2 0x00 0x80 0x91 0xD8 0x00 0x80 0x62 
3A60: 0x80 0x93 0xD8 0x00 0x19 0xBC 0x1E 0xBA 0x26 0xD1 0x80 0x91 0xE1 0x00 0x84 0xFF 
3A70: 0x29 0xC0 0x80 0x91 0xE2 0x00 0x84 0xFF 0x25 0xC0 0x84 0xE0 0x89 0xBD 0x89 0xB5 
3A80: 0x82 0x60 0x89 0xBD 0x09 0xB4 0x00 0xFE 0xFD 0xCF 0x80 0x91 0xD8 0x00 0x8F 0x7D 
3A90: 0x80 0x93 0xD8 0x00 0x80 0x91 0xE1 0x00 0x8F 0x7E 0x80 0x93 0xE1 0x00 0x80 0x91 
3AA0: 0xE2 0x00 0x8F 0x7E 0x80 0x93 0xE2 0x00 0x80 0x91 0xE2 0x00 0x81 0x60 0x80 0x93 
3AB0: 0xE2 0x00 0x80 0x91 0x51 0x01 0x88 0x23 0x11 0xF4 0x81 0xE0 0x01 0xC0 0x84 0xE0 
3AC0: 0x8E 0xBB 0xF9 0xD0 0x80 0x91 0xE1 0x00 0x83 0xFF 0x22 0xC0 0x80 0x91 0xE2 0x00 
3AD0: 0x83 0xFF 0x1E 0xC0 0x80 0x91 0xE1 0x00 0x87 0x7F 0x80 0x93 0xE1 0x00 0x82 0xE0 
3AE0: 0x8E 0xBB 0x10 0x92 0x51 0x01 0x80 0x91 0xE1 0x00 0x8E 0x7F 0x80 0x93 0xE1 0x00 
3AF0: 0x80 0x91 0xE2 0x00 0x8E 0x7F 0x80 0x93 0xE2 0x00 0x80 0x91 0xE2 0x00 0x80 0x61 
3B00: 0x80 0x93 0xE2 0x00 0xA1 0xDE 0x80 0xE0 0x60 0xE0 0x42 0xE2 0x8C 0xDE 0xD3 0xD0 
3B10: 0x80 0x91 0xE1 0x00 0x82 0xFF 0x0A 0xC0 0x80 0x91 0xE2 0x00 0x82 0xFF 0x06 0xC0 
3B20: 0x80 0x91 0xE1 0x00 0x8B 0x7F 0x80 0x93 0xE1 0x00 0xC5 0xD0 0xFF 0x91 0xEF 0x91 
3B30: 0xBF 0x91 0xAF 0x91 0x9F 0x91 0x8F 0x91 0x7F 0x91 0x6F 0x91 0x5F 0x91 0x4F 0x91 
3B40: 0x3F 0x91 0x2F 0x91 0x0F 0x90 0x0F 0xBE 0x0F 0x90 0x1F 0x90 0x18 0x95 0x1F 0x93 
3B50: 0xDF 0x93 0xCF 0x93 0x00 0xD0 0xCD 0xB7 0xDE 0xB7 0xE3 0xE5 0xF1 0xE0 0x80 0x91 
3B60: 0xF1 0x00 0x81 0x93 0x81 0xE0 0xEB 0x35 0xF8 0x07 0xC9 0xF7 0x90 0x91 0x53 0x01 
3B70: 0x80 0x91 0x54 0x01 0x85 0x30 0x11 0xF1 0x86 0x30 0x40 0xF4 0x81 0x30 0xB9 0xF0 
3B80: 0x81 0x30 0x70 0xF0 0x83 0x30 0x09 0xF0 0x81 0xC0 0x11 0xC0 0x88 0x30 0x09 0xF4 
3B90: 0x53 0xC0 0x89 0x30 0x09 0xF4 0x62 0xC0 0x86 0x30 0x09 0xF0 0x77 0xC0 0x2D 0xC0 
3BA0: 0x90 0x38 0x09 0xF4 0x74 0xC0 0x92 0x38 0x09 0xF0 0x70 0xC0 0x70 0xC0 0x99 0x23 
3BB0: 0x09 0xF4 0x6D 0xC0 0x92 0x30 0x09 0xF0 0x69 0xC0 0x69 0xC0 0x99 0x23 0x09 0xF0 
3BC0: 0x65 0xC0 0x10 0x91 0x55 0x01 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 
3BD0: 0x49 0xDE 0x04 0xC0 0x8E 0xB3 0x88 0x23 0x09 0xF4 0x59 0xC0 0x80 0x91 0xE8 0x00 
3BE0: 0x80 0xFF 0xF8 0xCF 0x81 0x2F 0x8F 0x77 0x11 0xF4 0x92 0xE0 0x01 0xC0 0x93 0xE0 
3BF0: 0x9E 0xBB 0x80 0x68 0x80 0x93 0xE3 0x00 0x4A 0xC0 0x90 0x58 0x92 0x30 0x08 0xF0 
3C00: 0x45 0xC0 0x80 0x91 0x55 0x01 0x90 0x91 0x56 0x01 0x60 0x91 0x57 0x01 0xAE 0x01 
3C10: 0x4F 0x5F 0x5F 0x4F 0xDF 0xDD 0xBC 0x01 0x00 0x97 0xC9 0xF1 0x80 0x91 0xE8 0x00 
3C20: 0x87 0x7F 0x80 0x93 0xE8 0x00 0x89 0x81 0x9A 0x81 0x3B 0xDE 0x80 0x91 0xE8 0x00 
3C30: 0x8B 0x7F 0x80 0x93 0xE8 0x00 0x2B 0xC0 0x90 0x38 0x41 0xF5 0x80 0x91 0xE8 0x00 
3C40: 0x87 0x7F 0x80 0x93 0xE8 0x00 0x80 0x91 0x51 0x01 0x80 0x93 0xF1 0x00 0x80 0x91 
3C50: 0xE8 0x00 0x8E 0x7F 0x80 0x93 0xE8 0x00 0x05 0xDE 0x19 0xC0 0x99 0x23 0xB1 0xF4 
3C60: 0x90 0x91 0x55 0x01 0x92 0x30 0x98 0xF4 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 
3C70: 0xE8 0x00 0x90 0x93 0x51 0x01 0xF6 0xDD 0x80 0x91 0x51 0x01 0x88 0x23 0x11 0xF4 
3C80: 0x83 0xE0 0x01 0xC0 0x84 0xE0 0x8E 0xBB 0x16 0xD0 0x01 0xC0 0x40 0xDB 0x80 0x91 
3C90: 0xE8 0x00 0x83 0xFF 0x0A 0xC0 0x80 0x91 0xEB 0x00 0x80 0x62 0x80 0x93 0xEB 0x00 
3CA0: 0x80 0x91 0xE8 0x00 0x87 0x7F 0x80 0x93 0xE8 0x00 0x0F 0x90 0x0F 0x90 0xCF 0x91 
3CB0: 0xDF 0x91 0x1F 0x91 0x08 0x95 0x08 0x95 0x8E 0xB3 0x88 0x23 0x29 0xF0 0x80 0x91 
3CC0: 0xE8 0x00 0x83 0xFF 0x01 0xC0 0x43 0xCF 0x08 0x95 0xF9 0x99 0xFE 0xCF 0x92 0xBD 
3CD0: 0x81 0xBD 0xF8 0x9A 0x99 0x27 0x80 0xB5 0x08 0x95 0x26 0x2F 0xF9 0x99 0xFE 0xCF 
3CE0: 0x1F 0xBA 0x92 0xBD 0x81 0xBD 0x20 0xBD 0x0F 0xB6 0xF8 0x94 0xFA 0x9A 0xF9 0x9A 
3CF0: 0x0F 0xBE 0x01 0x96 0x08 0x95 0xF8 0x94 0xFF 0xCF 0x01 0x02 0x1E 0x94 0x89 0x20 
3D00: 0xDC 0xFB 0x12 0x01 0x10 0x01 0x00 0x00 0x00 0x20 0xEB 0x03 0xEF 0x2F 0x00 0x00 
3D10: 0x00 0x01 0x00 0x01 0x09 0x02 0x1B 0x00 0x01 0x01 0x00 0x80 0x32 0x09 0x04 0x00 
3D20: 0x00 0x00 0xFE 0x01 0x02 0x00 0x09 0x21 0x03 0x00 0x00 0x00 0x0C 0x00 0x01 0x04 
3D30: 0x03 0x09 0x04 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D40: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D50: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D60: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D70: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D80: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3D90: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DA0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DB0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DC0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DD0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DE0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3DF0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E00: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E10: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E20: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E30: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E40: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E50: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E60: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E70: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E80: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3E90: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3EA0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3EB0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3EC0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3ED0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3EE0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3EF0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F00: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F10: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F20: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F30: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F40: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F50: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F60: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F70: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F80: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3F90: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FA0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FB0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FC0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FD0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FE0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 
3FF0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 

MD5 sum of bootloader = 0xD8 0x8C 0x70 0x6D 0xFE 0x1F 0xDC 0x38 0x82 0x1E 0xCE 0xAE 0x23 0xB2 0xE6 0xE7 
Bootloader name: Arduino-dfu-usbserial-atmega16u2-Uno-Rev3

First 256 bytes of program memory:

00: 0x90 0xC0 0x00 0x00 0xA9 0xC0 0x00 0x00 0xA7 0xC0 0x00 0x00 0xA5 0xC0 0x00 0x00 
10: 0xA3 0xC0 0x00 0x00 0xA1 0xC0 0x00 0x00 0x9F 0xC0 0x00 0x00 0x9D 0xC0 0x00 0x00 
20: 0x9B 0xC0 0x00 0x00 0x99 0xC0 0x00 0x00 0x97 0xC0 0x00 0x00 0x48 0xC4 0x00 0x00 
30: 0x0C 0xC4 0x00 0x00 0x91 0xC0 0x00 0x00 0x8F 0xC0 0x00 0x00 0x8D 0xC0 0x00 0x00 
40: 0x8B 0xC0 0x00 0x00 0x89 0xC0 0x00 0x00 0x87 0xC0 0x00 0x00 0x85 0xC0 0x00 0x00 
50: 0x83 0xC0 0x00 0x00 0x81 0xC0 0x00 0x00 0x7F 0xC0 0x00 0x00 0x02 0xC1 0x00 0x00 
60: 0x7B 0xC0 0x00 0x00 0x79 0xC0 0x00 0x00 0x77 0xC0 0x00 0x00 0x75 0xC0 0x00 0x00 
70: 0x73 0xC0 0x00 0x00 0x71 0xC0 0x00 0x00 0x6F 0xC0 0x00 0x00 0x6D 0xC0 0x00 0x00 
80: 0x6B 0xC0 0x00 0x00 0x69 0xC0 0x00 0x00 0x67 0xC0 0x00 0x00 0x65 0xC0 0x00 0x00 
90: 0x63 0xC0 0x00 0x00 0x61 0xC0 0x00 0x00 0x12 0x01 0x10 0x01 0x02 0x00 0x00 0x08 
A0: 0x41 0x23 0x42 0x00 0x01 0x00 0x01 0x02 0xDC 0x01 0x09 0x02 0x3E 0x00 0x02 0x01 
B0: 0x00 0xC0 0x32 0x09 0x04 0x00 0x00 0x01 0x02 0x02 0x01 0x00 0x05 0x24 0x00 0x01 
C0: 0x10 0x04 0x24 0x02 0x06 0x05 0x24 0x06 0x00 0x01 0x07 0x05 0x82 0x03 0x08 0x00 
D0: 0xFF 0x09 0x04 0x01 0x00 0x02 0x0A 0x00 0x00 0x00 0x07 0x05 0x04 0x02 0x40 0x00 
E0: 0x01 0x07 0x05 0x83 0x02 0x40 0x00 0x01 0x04 0x03 0x09 0x04 0x32 0x03 0x41 0x00 
F0: 0x72 0x00 0x64 0x00 0x75 0x00 0x69 0x00 0x6E 0x00 0x6F 0x00 0x20 0x00 0x28 0x00 

Programming mode off.


ATMEGA16U2 결과만 남아 있고, ATMEGA2560 의 기록은 어디론가 가서 없어져 버렸네요.


10. Fin

작업 완료된 Arduino Mega 2560 의 모습 입니다.

문제 파악을 위해 온갖 작업을 한 탓에 보드가 지저분 해졌습니다.

ATMEGA16U2 를 열풍기로 제거하면서, 옆의 Pin header 들도 녹아버려, 새로 작업하면서 동박 패턴도 날려 먹은거 수리도 했었네요.

끝!


댓글