---
parent: ArduinOS
title: ボードの設定
date: 2017-9-12
---

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

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

===

# コアフォルダの追加
    作業フォルダ"arduino.ArduinOS"を以下のディレクトリ内にコピー&ペーストしてください.
    ArduinoIDEのプログラムフォルダは通常"C:\Program Files (x86)\"下にあります.
    
    ```cpp
        (ArduinoIDEが存在するディレクトリへのパス)/Arduino/hardware/arduino/avr/cores
    ```
    
    これで, コアフォルダの追加は終わりです.

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

    ```cpp
        (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付きで保存することは通常避けられます.
    =================================================================

    ```cpp            

        ##############################################################
        
        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で保存しているか, 打ち間違いはないか確認してください.
    
    以上で, ボードの確認を終わります.