Old revision
Revision as of 2020-05-26 16:15
<Header>
<Parent> ArduinOS
<Title> ボードの設定
<CreatedAt> 2017-9-12
<Tags>
<Summary>
ここでは, OSをArduinoIDE上で使用できるようにします.
するべきことは, コアフォルダの追加とボードの追加です.
</Summary>
</Header>
# コアフォルダの追加
作業フォルダ"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で保存しているか, 打ち間違いはないか確認してください.
以上で, ボードの確認を終わります.