設定の変更 MENUCONFIG
spresense
cd sdk
tools/config.py -m
または、
make menuconfig
[CXD56xx Configuration]
[Power Management]
[*] Dynamic clock control
[I2C]
[*] I2C0
[ ] SCU Sequemcer <= チェック外す。
[System tools]
[*] I2C Tool
[NSH Library]
[Scripting support]
[*] Support ROMFS start-up script
[ROMFS header location]
[*] Architecture-specific ROMFS path
※Dynamic clock control を有効にすると、システムは HV モード で起動した後に RCOSC モードまでクロックを落とします。定常状態では、RCOSC モードで動作します。
Sensor Control Unit (SCU) は、SCU デバイス内の SPI もしくは I2C バスに接続されたセンサーデバイスからのセンシングデータを取得することができます。CPUとは独立して動作するため、センサー取得に関わるCPUの負荷を軽減することができます。
起動スクリプトを作成する。(/etc/rc.S)
$ cd bsp/include/arch/
boardフォルダのシンボリックリンクを作成
$ ln -s /mnt/c/spresense/spresense/sdk/bsp/board/spresense/include board
# ls -l
total 0
lrwxrwxrwx 1 root root 58 Apr 30 15:35 board -> /mnt/c/spresense/spresense/sdk/bsp/board/spresense/include
drwxrwxrwx 1 root root 4096 Apr 30 12:15 chip
テンプレートをコピー
$ cd bsp/include/arch/board
$ cp ../../../../system/nshlib/rcS.template .
bsp/include/arch/board/rcS.templateの中身を下記に書き換え
nestra &
(nestraというアプリを追加し自動起動するケース)
ROMFSを作成
※bsp/include/arch/boardに移動した状態
$ ../../../../tools/mkromfsimg.sh ../../../../
nsh_romfsimg.hができます。
Example への追加
"nestra"アプリを追加します。
examples/Kconfig
にアプリケーションパスを追加
source "/home/yamaguchi/spresense/examples/nestra/Kconfig"
アプリをexamplesフォルダに追加
cp -R /mnt/c/SPRESENSE/nestra ~/spresense/examples/.
sdkフォルダに戻って、ビルドします。
cd ../../../..
make cleankenel
make clean
make buildkernel
make menuconfig
>examples
[ ] nestra App を ONに設定
make
うまくいくと sdk/ に
nuttx.spk
ができます。
Spresenseへのアップロード
tools/flash.sh -c /dev/ttyS19 nuttx.spk
sdk/ で
tools/flash.sh -c /dev/ttyS19 nuttx.spk
USBポートは、
WSLの場合、Windows上でCOM1→ ttyS1 となります。
ブートローダ
ブートローダは、Arduino IDEから書き込むことでも
./tools/flash.sh -l ../firmware/spresense -c <port>
でもアップロードできます。