nrf52840
はじめに この記事は Rust Advent Calendar 2020 12日目の記事です。 github.com Our mission is to improve the embedded Rust experience. To achieve this, we build and improve tools and create learning materials. knurling-rs は Ferrous Systems …
はじめに 諸事情によりまとまった時間を取るのが難しいので、入門系やります。 今回は、Rust製のRTOSであるTockを触ってみます。 githubのTock organizationはこちらです。 前回はC言語で書かれたサンプルアプリケーションを動かしたので、今回はRustで書か…
はじめに 諸事情によりまとまった時間を取るのが難しいので、入門系やります。 今回は、Rust製のRTOSであるTockを触ってみます。 githubのTock organizationはこちらです。 Getting started Getting startedを参考に、何か動かしてみます。 Requirements nig…
はじめに nRF52840は、Cortex-M4Fが搭載されたSoCです。 また、CryptoCell 310という暗号化アクセラレータが搭載されています。 Nordic Documentation LibraryのCryptoCellのページを見ると、「ARM TrustZone CryptoCell 310」と書かれています。 www.nordic…
はじめに Zephyrでアプリケーションを開発しており、ベンチマークが取りたくなりました。 driverが提供されているnRF52840のRTC (Real Time Counter) を使って、プログラムの実行時間を計測してみます。 最終的には、Zephyr kernelが提供しているKernel Cloc…
はじめに Zephyrのアプリケーションを作成しています。 すると、バイナリが肥大化する現象が発生したため、原因を調査しました。 結論から言うと、ライブラリを作る際、コンパイラにPIC (Position Independent Code) の無効化を指定し忘れていたことが原因で…
はじめに 先日、IoTSecJPTokyo Version 5のデモ用に、nRF52840 USB Dongle+enc28j60 Ether MAC+Zephyrでエコーサーバを構築しました。 同様のものをnRF52840 DKで動くように移植を行っていきます。 USB Dongleから、DKへの移植は、GPIOピンの設定変更だけ…
はじめに 以前、CryptoCell 310を使ったサンプルアプリケーションを解析しました。 tomo-wait-for-it-yuki.hatenablog.com もう少し真面目に使い方を知る必要があるので、nRF5 SDKのAPIリファレンスを読んでいきます。 nRF5 SDK CryptoCell APIリファレンス…
はじめに nRF5 SDK for MeshののDevice Firmware Update (DFU) サンプルを動かしてみます。 このサンプルでは、Mesh経由でfirmwareを更新します。 www.nordicsemi.com IoT時代の組込みデバイスでは、firmware更新はできて当然ですからね! 動作確認 実際の手…
はじめに nRF5 SDK for MeshのExampleをいくつか試してきましたが、ZephyrのBluetooth Mesh Sampleも試してみます。 Mesh OnOff Model 単純なGenericOnOffを試します。 |> zephyr/samples/boards/nrf52/mesh/onoff-app docs.zephyrproject.org あっさりビル…
はじめに nRF5 SDK for MeshのSerial exampleを試します。 |> nRF5-SDK-for-Mesh/examples/serial www.nordicsemi.com PyACI 本アプリケーションをテストするためには、Pythonのインタラクティブアプリケーションが必要です。 下記の手順に沿って、インスト…
はじめに Bluetooth Meshを理解するために、nRF5 SDK for Meshでサンプルを動かしながら、動作を解析していきます。 tomo-wait-for-it-yuki.hatenablog.com 前回の続きです。今回は、ソースコードをより詳細に解析していきます。 解析対象は、nRF5 SDK for M…
はじめに Bluetooth Meshを理解するために、nRF5 SDK for Meshでサンプルを動かしながら、動作を解析していきます。 tomo-wait-for-it-yuki.hatenablog.com 前回、2台のnRF52840 DKを使って、Bluetooth Meshのlight switch demoを動かすことに成功しました。…
はじめに tomo-wait-for-it-yuki.hatenablog.com 少し間が空きましたが、前回の続きです。 2台のnRF52840 DKが手に入ったので、nRF5 SDK for Meshのlight switch サンプルを動かします。 今回は、nRF52840 DKを2台と、Android端末を1台、利用します。Android…
はじめに プログラミングする上で一刻も早くデバッグ環境を整えねばなりません。 GDBで、nRF52840 DKのプログラムをデバッグする方法を確立します。 下記Nordic DevZoneの投稿を参考にしました。 devzone.nordicsemi.com 前回記事で行った環境構築が完了して…
はじめに 今まで、nRF52840 USB Dongleで遊んでいましたが、外付けJ-Linkコネクタがないとデバッグできなかったり、Nordicから配布されているサンプルが少なかったり、とお試しで色々動かすのに不都合でした。 www.nordicsemi.com ということで、開発キット…
www.nordicsemi.com 実装を見てみないと、どういうものなのかよくわからないので、NordicのSDKを解析しながら、どういうものか理解していきます。 今回は、SDKの大枠とlight_switch exampleの概要を理解していきます。 README なにはともあれ、READMEです。 …
www.nordicsemi.com 実装を見てみないと、どういうものなのかよくわからないので、NordicのSDKを解析しながら、どういうものか理解していきます。 はじめに Bluetooth meshは、2017年夏に採用された新しい規格です。Bluetooth Low Energyの技術を応用して、…
CryptoCell 310ソフトウェアスタックを理解する目的で、コードが簡単そうだった乱数生成サンプルを解析します。 CryptoCell 310 cc310ブロック図 nRF52840のProduct Specificationによると、CryptoCell 310は、複数の暗号化アクセラレータを内包するペリフ…