ATmarquinoでLEDチカチカの続きになります。
前回はMakefileの周波数だけ修正していました。一応、追加分を作りました。
arduinoをインストールしたフォルダの下のhardware/bootloaders/atmega168/にあるMakefileに追加します。
atmega328_20MHz: TARGET = atmega328_20MHz
atmega328_20MHz: MCU_TARGET = atmega328p
atmega328_20MHz: CFLAGS += '-DMAX_TIME_COUNT=F_CPU>>4' '-DNUM_LED_FLASHES=1' -DBAUD_RATE=57600
atmega328_20MHz: AVR_FREQ = 20000000L
atmega328_20MHz: LDSECTION = --section-start=.text=0x7800
atmega328_20MHz: $(PROGRAM)_atmega328_20MHz.hex
atmega328_20MHz_isp: atmega328_20MHz
atmega328_20MHz_isp: TARGET = atmega328_20MHz
atmega328_20MHz_isp: MCU_TARGET = atmega328p
atmega328_20MHz_isp: HFUSE = DA
atmega328_20MHz_isp: LFUSE = FF
atmega328_20MHz_isp: EFUSE = 05
atmega328_20MHz_isp: isp
make atmega328_20MHzとすると、ATmegaBOOT_168_atmega328_20MHz.hexというファイルができます。次にmake atmega328_20MHz_ispとすると、書き込んでくれます。この際、MakefileのISPTOOL、ISPPORT、ISPSPEEDを自分の環境にあわせておきます。
arduino IDEでATmarquinoをメニューで選べるようにするために、hardware/boards.txtに以下を追加します。
##############################################################
atmaquino.name=ATmarquino w/ ATmega328 20MHz
atmaquino.upload.protocol=stk500
atmaquino.upload.maximum_size=30720
atmaquino.upload.speed=57600
atmaquino.bootloader.low_fuses=0xFF
atmaquino.bootloader.high_fuses=0xDA
atmaquino.bootloader.extended_fuses=0x05
atmaquino.bootloader.path=atmega168
atmaquino.bootloader.file=ATmegaBOOT_168_atmega328_20MHz.hex
atmaquino.bootloader.unlock_bits=0x3F
atmaquino.bootloader.lock_bits=0x0F
atmaquino.build.mcu=atmega328p
atmaquino.build.f_cpu=20000000L
atmaquino.build.core=arduino
メニューのTools→BoardでATmarquino w/ ATmega328 20MHzが選べるようになります。
ヒューズビットがDA FF 05って、そのままでいいのかな?