Spresenseのfirmware update

最終更新日

ひさしぶりに、Spresenseの開発環境を整えてみる。

まずは、firmware update。

前回は、2021/06/01 時点では、 v2.0.2。

spresense で circuitpython を使う

2021.06.01

今回は、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 download

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

シェアする