スイッチサイエンスが販売している mbed TY51822r3 をオフライン環境のPlatformIOで開発できたのでそのメモです。
platformio 対応 ボードを確認
mbed TY51822r3 は nRF51-DK なので nrf51_dk がボード一覧に有ることを確認してみる。
platformio boards
...
Platform: nordicnrf51
-------------------------------------------------------------------------------------------------------------------
ID MCU Frequency Flash RAM Name
-------------------------------------------------------------------------------------------------------------------
bbcmicrobit NRF51822 16Mhz 256kB 16kB BBC micro:bit
bbcmicrobit_b NRF51822 16Mhz 256kB 16kB BBC micro:bit B(S130)
bluz_dk NRF51822 32Mhz 256kB 32kB BluzDK
dfcm_nnn40 NRF51822 32Mhz 256kB 32kB Delta DFCM-NNN40
wallbot_ble NRF51822 16Mhz 128kB 16kB JKSoft Wallbot BLE
nrf51_dk NRF51822 32Mhz 256kB 32kB Nordic nRF51-DK
nrf51_dongle NRF51822 32Mhz 256kB 32kB Nordic nRF51-Dongle
nrf51_mkit NRF51822 16Mhz 128kB 16kB Nordic nRF51822-mKIT
oshchip NRF51822 32Mhz 256kB 32kB OSHChip
...
platformio 初期設定
作業するディレクトリを作りその中で ボード nrf51_dk,フレームワーク mbed を指定して platformio の初期設定をします。
mkdir blink
cd blink
platformio init -b nrf51_dk -O "framework=mbed" -O "upload_port=/Volumes/MBED" -O "build_flags = -std=c++1y"
platformio.ini
LPC1114 LPC1114FN28 / mbed 開発を platformio を使ってやるを参考に platformio.ini を下のように設定しました。
platformio.ini
[env:nrf51_dk]
platform = nordicnrf51
board = nrf51_dk
framework = mbed
build_flags = -std=c++1y
upload_port = /Volumes/MBED
Lチカコード
ビルドできるかの確認なので シンプルな Lチカコードを main.cpp として srcディレクトリに作成
main.cpp
# include "mbed.h"
DigitalOut led(LED1);
int main() {
while(1) {
led = 1;
wait(0.5);
led = 0;
wait(0.5);
}
return 0;
}
ビルド
mbed として ビルドできて 接続した MBEDへアップロードしてみます。
platformio run -t upload
参考
LPC1114 LPC1114FN28 / mbed 開発を platformio を使ってやる
Switch Science mbed TY51822r3