NuttX
はじめに NuttXはASFのIncubatorプロジェクトへ採択され、リポジトリがBitBucketからGitHubに変更された。 今後はプルリクエストなどもGitHubで受け付ける。 ソースコードを取得 GitHubからソースコードを取得するには次のようにする。 $ git clone https://…
はじめに NuttXは次のボードについてClangでのビルドに対応している。 nucleo-f446re nucleo-f4x1re stm32f746g-disco 筆者的によく使用するSTM32F4DiscoveryもClangでビルドできないか試してみる。 今回はclang-9を使用している。 clangの設定方法はここを…
はじめに NuttXがnRF52840-DKに対応したっぽいので動かしてみる。 ARMのツールチェインの設定方法についてはここを参照。 J-Linkツールの設定方法についてはここを参照。 NuttXの作成 ソースの取得 $ git clone https://bitbucket.org/nuttx/nuttx.git $ git…
はじめに NuttXで小さい書捨てのアプリケーションをたくさん作る必要が出てきたので、 アプリケーションの雛形を出力するスクリプトを自分用に作成した。 せっかくなので(?)、githubに置いといた。 スクリプトがやっていることの詳細はここを参照。 使い方 n…
はじめに NuttXでmbed TLSを動かす。 3年ほど前にMarceloさんが一度移植したらしいので、ここを参考にする。 ただし情報が古くその間にNuttXも新しくなっているのでこのままではうまく行かない。 今回使用するターゲットはSTM32F4Discovery。 NuttX まずはNu…
はじめに NuttXにビルトインアプリケーションを追加する方法を調査した。 ここが日本語でよくまとまっていた。 プログラムを作成する場所 プログラムをどこに追加するかと言うのが一つ考えどころだが、apps/README.txtによると、 Use of the name ''apps/ext…
はじめに make menuconfigで見てみると、NuttXでもlibc++やuClibc++などが使えるようになっているらしい。 ただ、ライブラリのソースはカーネルやアプリからは分離されているようで、別途取得する必要がある。 具体的なやり方はAlan C. Assisさんが紹介して…
はじめに NuttXはRNDISドライバを持っている。 STM32F4DiscoveryはRNDISドライバを使用すると、USBでEthernetデバイスとして通信できるようになる。 意外なほど簡単に使用することができる。 コンフィグレーション $ tools/configure.sh -l configs/stm32f4d…
はじめに STM32F4DiscoveryでEthernetが使えるようになったのでMQTTを動かしてみる。 既にNuttXでMQTTを動作させた例がないかWebで調べたところ、こんなものを見つけた。 リンク先では、MQTT-Cを動かそうとしていて問題が発生したというissueで、最終的には…
はじめに Amazonで購入したEthernetコントローラ基板をSTM32F4Discovery + NuttXで使用できるようにする。 このコントローラ基板はENC28J60が載っている。ENC28J60はMACとPHYの機能を持っているため、ホストとなるボードはSPIで通信できればEthernetが使える…
はじめに NuttXではデバッグログをRAMに出力することができる。 RAMに出力されたログデータはLinuxなどでおなじみのdmesgコマンドで表示することができる。 BluePillのようなRAMの少ない環境では活用は難しそうだが、STM32F4Discoveryくらい余裕のある環境で…
STM32F4Discovery + NuttXの続き。 NuttXをSTM32F4Discoveryで動かす はじめに STM32F4DiscoveryでのNSHの使用方法を紹介する。 コンフィグレーション 次のようにコンフィグレーションを実行する。 $ cd nuttx $ tools/configure.sh -l stm32f4discovery/nsh…
はじめに これまでBluePillで遊んできたNuttXをSTM32F4Discoveryで動かす。 STM32F4DiscoveryはSTM32F407VGT6が載っている。 メモリ サイズ フラッシュ 1MiB RAM 192KiB BluePillと比較するとかなりリッチなリソースを持っている。 NuttXの作成 基本的なとこ…
BluePill + NuttXの続き。 NuttXをSTM32F103 minimum(BluePill)で動かす NuttXのSTM32F103 minimum(BluePill)で128Kのフラッシュを使う NuttXをSTM32F103 minimum(BluePill)で動かす(NSH編) OpenOCDでデバッグ フラッシュを128K使うために、OpenOCDを使用し…
NuttX + BluePillの続き。 NuttXをSTM32F103 minimum(BluePill)で動かす NuttXのSTM32F103 minimum(BluePill)で128Kのフラッシュを使う UARTでシェル 前回まではBluePillとPCをUSBケーブルで接続しUSB経由でシェルを使用していたが、 今回はUSB-TTL変換ケー…
はじめに 前回はSTM32F103C8T6のフラッシュは64KiBだと書いた。 しかし、NuttXのconfigs/stm32f103-minimum/scripts/ld.scriptを参照すると、次のように書いてある。 * * NOTE: While the STM32F103C8T6 states that the part has 64Kb of FLASH, * all part…
はじめに STM32F103 Minimum BoardでNuttXというRTOSを動かしてみる。 このボードはAmazonで買えた 2個で990円。もっと安いものもあるみたいだが、中国から直送で1ヶ月くらい輸送にかかりそうなのでプライムで短期間で届きそうなものを買った。 このボードに…