Spresenseのfirmware update
ひさしぶりに、Spresenseの開発環境を整えてみる。
まずは、firmware update。
前回は、2021/06/01 時点では、 v2.0.2。
今回は、2023/09/08時点で、v2.4.0。
Download Spresense firmware v2.4.0
アップデート方法(for MacOS)
firmware を展開
unzip spresense-binaries-v2
flash_writer command をdownload
firmware を展開したdirectoryに移動
cd spresense-binaries-v2
fiirmware書き込み用コマンド flash_writer
をdonwload
flash_writer の実行準備
chmod + ./fiirmware
./fiirmware
ここで、MacOSの起動チェックに引っかかるので、環境設定から許可しておく。
firmware の書き込み
前回は、Spresense用にシリアルドライバをinstallしてから作業したが、今回は素でもOK。
大事なことは、
- USBケーブルをspresense本体のUSBコネクタに挿すこと。
- Arduino を終了しておくこと(ArduinoでPortを開いていると
Cannot open port : /dev/tty.xxxx
というように Conflict する
./flash_writer -s -c /dev/tty.usbserial-14120 -b 115200 -d -n -s "./loader.espk" "./gnssfw.espk" "./dnnrt-mp.espk" "./AESM.espk"
---
>>> Install files ...
install -b 115200
Install ./loader.espk
|0%-----------------------------50%------------------------------100%|
######################################################################
129968 bytes loaded.
Package validation is OK.
Saving package to "loader"
updater# install -b 115200
Install ./gnssfw.espk
|0%-----------------------------50%------------------------------100%|
######################################################################
454512 bytes loaded.
Package validation is OK.
Saving package to "gnssfw"
updater# install -b 115200
Install ./dnnrt-mp.espk
|0%-----------------------------50%------------------------------100%|
######################################################################
109808 bytes loaded.
Package validation is OK.
Saving package to "dnnrt-mp"
updater# install -b 115200
Install ./AESM.espk
|0%-----------------------------50%------------------------------100%|
######################################################################
28944 bytes loaded.
Package validation is OK.
Saving package to "AESM"
updater# sync
updater# Restarting the board ...
reboot
circuitpython の場合、このままでは何も起こらない。
が、あわててはいけない。
USBケーブルをspresenseの拡張ボードにあるUSBコネクタに刺しなおす。
Finderにお馴染みの CIRCUITPY
が表示されればOK。
確認
code.py
を見ると、simpleな1行があった。
print("Hi")
dev 名
Spresense本体の、dev名は、 /dev/tty.usbserial-14120
だったが、 拡張ボードは、 /dev/tty.usbmodem8193CCA09C1
。
screen でserialを確認。
screen /dev/tty.usbmodem8193CCA09C1
^C
^D
>>>
soft reboot
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
code.py output:
Hi
Code done running.
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 8.2.5 on 2023-09-07; SPRESENSE with CXD5602
ちゃんと実行されている。最後のversion表示も正しい。 8.2.5
modules も確認
help('modules')
__future__ board onewireio time
__main__ builtins os traceback
_asyncio busio pulseio ulab
_bleio camera pwmio ulab.numpy
_pixelmap collections rainbowio ulab.numpy.fft
adafruit_bus_device digitalio random ulab.numpy.linalg
adafruit_bus_device.i2c_device errno re ulab.scipy
adafruit_bus_device.spi_device gc rtc ulab.scipy.linalg
adafruit_pixelbuf getpass sdcardio ulab.scipy.optimize
aesio gnss sdioio ulab.scipy.signal
analogio io select ulab.scipy.special
array json storage ulab.utils
atexit math struct usb_cdc
binascii microcontroller supervisor uselect
bitbangio micropython sys zlib
Plus any modules on the filesystem