Arduino IDE + AVRISP mkⅡ

Arduino IDE で上手くいったと思ったのですが、出来たり出来なかったりと安定しません。

書き込みが出来たとき、

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 (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

     Using Port                    : usb
     Using Programmer              : stk500v2

avrdude: usbdev_open(): Found AVRISP mkII, serno: 001D2C881679
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 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 : STK500V2
     Description     : Atmel STK500 Version 2.x firmware
     Programmer Model: AVRISP mkII
     Hardware Version: 1
     Firmware Version Master : 1.24
     Vtarget         : 3.2 V
     SCK period      : 8.00 us

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f (probably m328p)
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:\Users\info\AppData\Local\Temp\arduino_build_207780/QCX-SSB.ino.hex”
avrdude: writing flash (29546 bytes):

Writing | ################################################## | 100% 9.89s

avrdude: 29546 bytes of flash written
avrdude: verifying flash memory against C:\Users\info\AppData\Local\Temp\arduino_build_207780/QCX-SSB.ino.hex:
avrdude: load data flash data from input file C:\Users\info\AppData\Local\Temp\arduino_build_207780/QCX-SSB.ino.hex:
avrdude: input file C:\Users\info\AppData\Local\Temp\arduino_build_207780/QCX-SSB.ino.hex contains 29546 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 9.36s

avrdude: verifying …
avrdude: 29546 bytes of flash 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 (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

     Using Port                    : COM6
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200

avrdude: ser_open(): can’t open device “\.\COM6”: ?w?????t?@?C???????????????B

avrdude done. Thank you.

Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.

またまた難題です。

その後、
とんだ勘違いでした。「書き込み装置を使って書き込む」でなく習慣で「マイコンボードに書き込む」をクリックしていたようです。年を取ると思い込みがひどくなります。

Arduino 20MHz 再度挑戦

IDEに20MHzのボード追加で20MHzはどうも早とちりのようでした。
もう一度よく考えると20MHzのブートローダーが無く出来るはずがありません。ただLチカは早くなったように感じたのは・・・・

ではどうしたら20MHz化は出来るのでしょう?

ブートローダーのmakeファイルに20MHzの記述を追加

atmega328_20MHz: TARGET = atmega328_20MHz
atmega328_20MHz: MCU_TARGET = atmega328p
atmega328_20MHz: CFLAGS += ‘-DLED_START_FLASHES=3’ ‘-DBAUD_RATE=115200’
atmega328_20MHz: AVR_FREQ = 20000000L
atmega328_20MHz: LDSECTIONS = -Wl,–section-start=.text=0x7e00 -Wl,–section-start=.version=0x7ffe
atmega328_20MHz: $(PROGRAM)_atmega328_20MHz.hex
atmega328_20MHz: $(PROGRAM)_atmega328_20MHz.lst

atmega328_20MHz_isp: atmega328_20MHz
atmega328_20MHz_isp: TARGET = atmega328_20MHz
atmega328_20MHz_isp: MCU_TARGET = atmega328p
# 512 byte boot, SPIEN
atmega328_20MHz_isp: HFUSE = DE
# Full swing xtal (20MHz) 258CK/14CK+4.1ms
atmega328_20MHz_isp: LFUSE = FF
# 2.7V brownout
atmega328_20MHz_isp: EFUSE = 05
atmega328_20MHz_isp: isp

omake.bat でビルドすればatmega328_20MHzのブートローダーが出来ます。
ところが新しいIDEではビルドできません。toolファルダーには何もありません。

1.0.1 でビルドしなんとかatmega328_20MHzのブートローダーが出来上がりました。1.8.15 の optiboot にコピーそしてatmega328_20MHzのボード追加。

uno20MHz.name=Arduino Uno 20MHz
uno20MHz.upload.protocol=arduino
uno20MHz.upload.maximum_size=32256
uno20MHz.upload.speed=115200

uno20MHz.upload.tool=avrdude
uno20MHz.bootloader.tool=avrdude
uno20MHz.bootloader.low_fuses=0xff
uno20MHz.bootloader.high_fuses=0xde
uno20MHz.bootloader.extended_fuses=0x05
uno20MHz.bootloader.unlock_bits=0x3F
uno20MHz.bootloader.lock_bits=0x0F
uno20MHz.bootloader.file=optiboot/optiboot_atmega328_20MHz.hex

uno20MHz.build.mcu=atmega328p
uno20MHz.build.f_cpu=20000000L
uno20MHz.build.board=AVR_UNO
uno20MHz.build.core=arduino
uno20MHz.build.variant=standard

スケッチの書き込みも出来、無事 Arduino Nano(Uno) の 20MHz 化が完成です。

Arduino Nano uSDX

uSDX 1.02rが16MHzに対応したため早速テストをしてみました。容量不足でコンパイルが出来ないので、
Arduino Nano V3 のプログラムサイズを最大化する – Qiita
こちらを参考に容量UPをしコンパイル可能となりましたが書き込みはできません。
ucx@groups.io | Search
こちらを確認するとUNOブートローダーを書き込みUNO化する記事があり書き込みも出来るようになりました。

ところがLCDには何も表示されません。
Re: uSDX for kids (groups.io)
A4に1kΩのプルアップ抵抗の追加がLCDによっては必要のようです。

ここまで来るのに一か月近くかかりましたが先に進むことが出来ます。ユニバーサル基盤での作成を始めます。

Arduino Nano 20MHz化 2

どうやっても20MHzでのブーローダーが書き込めません。仕方なく16MHzの水晶に付け替えテストしてみることにしました。

Atmega328 の足に直接はんだ付けをなんとかすることができました。さて16MHzでブートローダーの書き込みは何回か失敗しましたがやっと生き返りました。ことあと水晶を20MHzに付け替え20MHz化に再度挑戦してみます。

Arduino Nano 20MHz化

uSDXをArduino Nano で作ってみたいと思いNano を20MHz化に取り組み。
水晶を20MHzにしてboards.txt にArduino Nano 20MHzを追加してブートローダを書き込みしてみました。「書き込みできました」と上手くいったように見えますがスケッチの書き込みはできません。
Atmel Studio で確認すると

ブートローダの書き込みが上手くいってないのかもしれません。またまた課題が出来てしまいました。(uSDXは16MHzにも対応したようです。)