Sensor Network: IoT World for the Future

Sony Spresense SDK 設定その2 (Ubuntu 18.04 on WSL )

参考: 
http://mknod.jp/?p=2834

設定の変更  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>
でもアップロードできます。

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください