💻
Sony SpresenseでHello Worldチュートリアルをやってみた
Sony Spresenseを手に入れたので、Hello Worldチュートリアルをちょっとやってみます。
参考サイト:
自分の環境
Macbook Pro 2019 (Intel)
Mac OS Sonoma
環境構築
幸いMac OSでも対応しているということなので、手順を踏んでMac OS用の環境を整備することにしました。High Sierraってほぼ6年前のOSなのでちょっと不安でしたが。
# 結構時間かかります、10分以上自分のラップトップではかかりました
$ curl -L https://raw.githubusercontent.com/sonydevworld/spresense/master/install-tools.sh > install-tools.sh
$ source ~/spresenseenv/setup
レポジトリをCloneしてみます。
$ git clone --recursive https://github.com/sonydevworld/spresense.git
$ cd spresense/sdk
ところがこのようなエラーが出てきてしまいました。
$ tools/config.py examples/hello
WARNING: New loader v3.1.0 is required, please download and install.
Download URL : https://developer.sony.com/file/download/download-spresense-firmware-v3-1-0
Install command:
1. Extract loader archive into host PC.
./tools/flash.sh -e <download zip file>
2. Flash loader into Board.
./tools/flash.sh -l /Users/lvchammm/code/spresense/firmware/spresense -c <port>
サイトに飛んでDownloadします。
Updateはうまくいきました。
$ ./tools/flash.sh -e ~/Downloads/spresense-binaries-v3.1.0.zip
Update succeed.
もう一回走らせるとうまくいきました。ログはとくに何も出ません。
$ tools/config.py examples/hello
Makeは結構時間かかります。でもうまくいきました。
$ make
...
AR (create): libboard.a cxd56_main.o cxd56_clock.o cxd56_bringup.o cxd56_appinit.o cxd56_power.o cxd56_ioctl.o cxd56_gpioif.o cxd56_pwm.o cxd56_spi.o cxd56_boot.o cxd56_uid.o cxd56_crashdump.o cxd56_netinit.o cxd56_flash.o cxd56_usbmsc.o cxd56_i2cdev.o cxd56_spidev.o
IN: arch/arm/src/board/libboard.a -> staging/libboard.a
make[3]: `libboard.a' is up to date.
LD: nuttx
Generating: nuttx.spk
tools/cxd56/mkspk -c2 nuttx nuttx nuttx.spk;
File nuttx.spk is successfully created.
Done.
# ファイルができていることを確認
$ ls | grep nuttx.spk
nuttx.spk
SpresenseをMacにつなげてシリアルポートの名前を確認します。
以下のように出てきたので/dev/tty.usbserial-14320
を使います。
Rebootまでうまくいきました。
$ ls /dev/{tty,cu}.*
/dev/cu.BLTH /dev/cu.usbserial-14320 /dev/tty.Bluetooth-Incoming-Port
/dev/cu.Bluetooth-Incoming-Port /dev/tty.BLTH /dev/tty.usbserial-14320
$ tools/flash.sh -c /dev/tty.usbserial-14320 nuttx.spk
>>> Install files ...
install -b 115200
Install nuttx.spk
|0%-----------------------------50%------------------------------100%|
######################################################################
159632 bytes loaded.
Package validation is OK.
Saving package to "nuttx"
updater# sync
updater# Restarting the board ...
reboot
Screenコマンドを使い、確認します。ctrl + a
, ctrl + k
で抜けれます
$ screen /dev/tty.usbserial-14320 115200
...
NuttShell (NSH) NuttX-11.0.0
nsh> hello
Hello, World!!
nsh>
トラブルシューティング
以下のように出てくる場合はBootloaderをFlashできていません。
$ screen /dev/tty.usbserial-14320 115200
Welcome to nash (build 7bf64de)
updater#
cuのほうのSerial PortにFirmwareをFlashしておきましょう。
$ ./tools/flash.sh -l ~/code/spresense/firmware/spresense -c /dev/cu.usbserial-14320
>>> Install files ...
install -b 115200
Install /Users/lvchammm/code/spresense/firmware/spresense/loader.espk
|0%-----------------------------50%------------------------------100%|
######################################################################
感想
ドキュメントが見るからにちょっと古そうだったので不安でしたが無事チュートリアルができてちょっと安心です。
Discussion