3. 内部ファイルシステムへのプログラムの書込み

3.1. 内部ファイルシステム

MicroPython がボード上で初めて起動するとき、RA MCU の内部フラッシュに FAT ファイルシステムが作成され、初期化されます。ファイルシステムは "/flash" としてマウントされますので、このフラッシュシステムに /flash ディレクトリでアクセスでき、プログラムファイルを作成できます。

工場出荷時、ファイルシステムには以下のサイズが割り当てられています:

ボード ファイルシステムサイズ
EK-RA4M1 36KB ( 36864B)
EK-RA4W1 64KB ( 65536B)
EK-RA6M1 128KB (131072B)
EK-RA6M2 256KB (262144B)
RA4M1 CLICKER 36KB ( 36864B)

工場出荷時には、次の2つのファイルがファイルシステム上に作成されます:

  • boot.py : システムの起動時に最初に実行されます
  • main.py : boot.py が完了した後に実行されます

3.2. 内部ファイルシステムへのプログラムの書込み

MicroPython の起動時に自動的に実行されるプログラムを main.py に記述できます。たとえば、以下のようなLED点滅のプログラムを書くことができます。

import os
os.getcwd()
f = open('main.py', 'rw+')
print(f.read())
f.write('import time\n')
f.write('from machine import Pin\n')
f.write('led1 = Pin(Pin.cpu.P106)\n')
f.write('while True:\n')
f.write('    led1.on()\n')
f.write('    time.sleep(1)\n')
f.write('    led1.off()\n')
f.write('    time.sleep(1)\n')
f.close()
f = open('main.py', 'r')
print(f.read())
f.close()

CTRL-D でソフトウェアリセットを入力すると、MicroPython が再起動し、次のメッセージが表示されます:

MPY: sync filesystems
MPY: soft reboot

そして main.py が実行され、LED1 が1秒ごとに点滅します。プログラムを停止したい場合は CTRL-C を入力してください。