目次 このページのソースコードを表示
公開日:
更新日:

ここでは, OSをArduinoIDE上で使用できるようにします.

するべきことは, コアフォルダの追加とボードの追加です.

コアフォルダの追加

作業フォルダ"arduino.ArduinOS"を以下のディレクトリ内にコピー&ペーストしてください. ArduinoIDEのプログラムフォルダは通常"C:\Program Files (x86)\"下にあります.

        (ArduinoIDEが存在するディレクトリへのパス)/Arduino/hardware/arduino/avr/cores

これで, コアフォルダの追加は終わりです.

ボードの追加

以下のパスにある"boards.txt"をデスクトップなどにコピー&ペーストしてください. これは, 直接編集することができないためです.

        (ArduinoIDEが存在するディレクトリへのパス)/Arduino/hardware/arduino/avr/boards.txt

コピーしたファイルの末尾に以下のコードを追加してください. 注意ですが, このファイルを編集する際, Windows標準のメモ帳ではなく, スクリプトを編集するために作られたソフト(Visual Studioなど)を使用することをお勧めします. メモ帳を使用すると, このファイル保存時にBOM付きで保存また, 行の終わりが一貫しない―boardsファイルは行の終わりをLFとしていますが, メモ帳は行の終わりをLF,CRとして保存します―問題が生じ, ArduinoIDEがボードの設定を読み込めない可能性があります.

BOM

BOM(Byte Order Mark)とは, テキストの先頭にある数バイトのデータのことを指します. これは, テキストデータがUnicodeを使用していること, エンコーディングの種類を判別するのに使用されます. これが実際に使用されている例として, Windowsの標準アプリケーションであるメモ帳はテキストデータをUTF8で保存する際, このBOM付きで保存します. プログラムのソースファイルにこのBOMがある場合コンパイラーが正常にコードを読み込めない可能性があるので, BOM付きで保存することは通常避けられます.

        ##############################################################
        
        unoArduinOS.name=Arduino/Genuino Uno + ArduinOS
        
        unoArduinOS.upload.tool=avrdude
        unoArduinOS.upload.protocol=arduino
        unoArduinOS.upload.maximum_size=32256
        unoArduinOS.upload.maximum_data_size=2048
        unoArduinOS.upload.speed=115200
        
        unoArduinOS.bootloader.tool=avrdude
        unoArduinOS.bootloader.low_fuses=0xFF
        unoArduinOS.bootloader.high_fuses=0xDE
        unoArduinOS.bootloader.extended_fuses=0x05
        unoArduinOS.bootloader.unlock_bits=0x3F
        unoArduinOS.bootloader.lock_bits=0x0F
        unoArduinOS.bootloader.file=optiboot/optiboot_atmega328.hex
        
        unoArduinOS.build.mcu=atmega328p
        unoArduinOS.build.f_cpu=16000000L
        unoArduinOS.build.board=AVR_UNO
        unoArduinOS.build.core=ArduinOS
        unoArduinOS.build.variant=standard
        
        ##############################################################
        
        megaArduinOS.name=Arduino/Genuino Mega or Mega 2560 + ArduinOS
        
        megaArduinOS.vid.0=0x2341
        megaArduinOS.pid.0=0x0010
        megaArduinOS.vid.1=0x2341
        megaArduinOS.pid.1=0x0042
        megaArduinOS.vid.2=0x2A03
        megaArduinOS.pid.2=0x0010
        megaArduinOS.vid.3=0x2A03
        megaArduinOS.pid.3=0x0042
        megaArduinOS.vid.4=0x2341
        megaArduinOS.pid.4=0x0210
        megaArduinOS.vid.5=0x2341
        megaArduinOS.pid.5=0x0242
        
        megaArduinOS.upload.tool=avrdude
        megaArduinOS.upload.maximum_data_size=8192
        
        megaArduinOS.bootloader.tool=avrdude
        megaArduinOS.bootloader.low_fuses=0xFF
        megaArduinOS.bootloader.unlock_bits=0x3F
        megaArduinOS.bootloader.lock_bits=0x0F
        
        megaArduinOS.build.f_cpu=16000000L
        megaArduinOS.build.core=ArduinOS
        megaArduinOS.build.variant=mega
        # default board may be overridden by the cpu menu
        megaArduinOS.build.board=AVR_MEGA2560
        
        ## Arduino/Genuino Mega w/ ATmega2560
        ## -------------------------
        megaArduinOS.menu.cpu.atmega2560=ATmega2560 (Mega 2560)
        
        megaArduinOS.menu.cpu.atmega2560.upload.protocol=wiring
        megaArduinOS.menu.cpu.atmega2560.upload.maximum_size=253952
        megaArduinOS.menu.cpu.atmega2560.upload.speed=115200
        
        megaArduinOS.menu.cpu.atmega2560.bootloader.high_fuses=0xD8
        megaArduinOS.menu.cpu.atmega2560.bootloader.extended_fuses=0xFD
        megaArduinOS.menu.cpu.atmega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex
        
        megaArduinOS.menu.cpu.atmega2560.build.mcu=atmega2560
        megaArduinOS.menu.cpu.atmega2560.build.board=AVR_MEGA2560
        
        ## Arduino Mega w/ ATmega1280
        ## -------------------------
        megaArduinOS.menu.cpu.atmega1280=ATmega1280
        
        megaArduinOS.menu.cpu.atmega1280.upload.protocol=arduino
        megaArduinOS.menu.cpu.atmega1280.upload.maximum_size=126976
        megaArduinOS.menu.cpu.atmega1280.upload.speed=57600
        
        megaArduinOS.menu.cpu.atmega1280.bootloader.high_fuses=0xDA
        megaArduinOS.menu.cpu.atmega1280.bootloader.extended_fuses=0xF5
        megaArduinOS.menu.cpu.atmega1280.bootloader.file=atmega/ATmegaBOOT_168_atmega1280.hex
        
        megaArduinOS.menu.cpu.atmega1280.build.mcu=atmega1280
        megaArduinOS.menu.cpu.atmega1280.build.board=AVR_MEGA
        
        ##############################################################
        
        int8m328.name=Arduino ATmega328 Internal 8MHz
        
        int8m328.upload.tool=avrdude
        int8m328.upload.protocol=arduino
        int8m328.upload.maximum_size=30720
        int8m328.upload.maximum_data_size=2048
        int8m328.upload.speed=57600
        
        int8m328.bootloader.tool=avrdude
        int8m328.bootloader.low_fuses=0xe2
        int8m328.bootloader.high_fuses=0xDA
        int8m328.bootloader.extended_fuses=0x05
        int8m328.bootloader.unlock_bits=0x3F
        int8m328.bootloader.lock_bits=0x0F
        int8m328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
        
        int8m328.build.mcu=atmega328p
        int8m328.build.f_cpu=8000000L
        int8m328.build.board=AVR_PRO
        int8m328.build.core=arduino
        int8m328.build.variant=standard
        ##############################################################
        
        
        int8m328ArduinOS.name=Arduino ATmega328 Internal 8MHz + ArduinOS
        
        int8m328ArduinOS.upload.tool=avrdude
        int8m328ArduinOS.upload.protocol=arduino
        int8m328ArduinOS.upload.maximum_size=30720
        int8m328ArduinOS.upload.maximum_data_size=2048
        int8m328ArduinOS.upload.speed=57600
        
        int8m328ArduinOS.bootloader.tool=avrdude
        int8m328ArduinOS.bootloader.low_fuses=0xe2
        int8m328ArduinOS.bootloader.high_fuses=0xDA
        int8m328ArduinOS.bootloader.extended_fuses=0x05
        int8m328ArduinOS.bootloader.unlock_bits=0x3F
        int8m328ArduinOS.bootloader.lock_bits=0x0F
        int8m328ArduinOS.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
        
        int8m328ArduinOS.build.mcu=atmega328p
        int8m328ArduinOS.build.f_cpu=8000000L
        int8m328ArduinOS.build.board=AVR_PRO
        int8m328ArduinOS.build.core=ArduinOS
        int8m328ArduinOS.build.variant=standard
        
        ##############################################################
        
        int8m168.name=Arduino ATmega168 Internal 8MHz
        
        int8m168.upload.tool=avrdude
        int8m168.upload.protocol=arduino
        int8m168.upload.maximum_size=14336
        int8m168.upload.maximum_data_size=1024
        int8m168.upload.speed=19200
        
        int8m168.bootloader.tool=avrdude
        int8m168.bootloader.low_fuses=0xe2
        int8m168.bootloader.high_fuses=0xDD
        int8m168.bootloader.extended_fuses=0x00
        int8m168.bootloader.unlock_bits=0x3F
        int8m168.bootloader.lock_bits=0x0F
        int8m168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
        
        int8m168.build.mcu=atmega168
        int8m168.build.f_cpu=8000000L
        int8m168.build.board=AVR_PRO
        int8m168.build.core=arduino
        int8m168.build.variant=standard
        
        ##############################################################
        
        int8m168ArduinOS.name=Arduino ATmega168 Internal 8MHz + ArduinOS
        
        int8m168ArduinOS.upload.tool=avrdude
        int8m168ArduinOS.upload.protocol=arduino
        int8m168ArduinOS.upload.maximum_size=14336
        int8m168ArduinOS.upload.maximum_data_size=1024
        int8m168ArduinOS.upload.speed=19200
        
        int8m168ArduinOS.bootloader.tool=avrdude
        int8m168ArduinOS.bootloader.low_fuses=0xe2
        int8m168ArduinOS.bootloader.high_fuses=0xDD
        int8m168ArduinOS.bootloader.extended_fuses=0x00
        int8m168ArduinOS.bootloader.unlock_bits=0x3F
        int8m168ArduinOS.bootloader.lock_bits=0x0F
        int8m168ArduinOS.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex
        
        int8m168ArduinOS.build.mcu=atmega168
        int8m168ArduinOS.build.f_cpu=8000000L
        int8m168ArduinOS.build.board=AVR_PRO
        int8m168ArduinOS.build.core=ArduinOS
        int8m168ArduinOS.build.variant=standard

コードを見ると分かりますが, これらコードは一から書くわけではなく, もともとある"ArduinoUno", "ArduinoMega"の項目をコピー&ペーストし, 名前(name)とコアフォルダの位置(core)の位置を書き換えただけです.

編集したboards.txtを元のフォルダ(コピー元)に移動してください. 元のファイルは上書きされます.

これで, ボードの追加は終わりです.

ボード確認

ArduinoIDEを起動し, "ツール"→"ボード"と移動し, ボード一覧に"Arduino/Genuino Mega or Mega 2560 + ArduinOS", "Arduino/Genuino Mega or Mega 2560 + ArduinOS"があることを確認してください. 存在しない, もしくはエラーが出ている場合, ボードファイルを正しく読み込めていない可能性があります. BOM無しUTF8で保存しているか, 打ち間違いはないか確認してください.

以上で, ボードの確認を終わります.

「https://contentsviewer.work/Master/Arduino/ArduinOS/SetupBoard」から取得