Vivado/Vivado HLS/ peta linux
- HWロジックの開発環境:Vivado
- HWロジックの高位合成(HLS:High Level Synthesis)開発環境:Vivado HLS
- SW開発環境:peta linux
という位置づけらしい。
今日は時間切れだが、今後は下記のサイトを参考にしてツールの使い方を学ぶ。
公式ドキュメントでは、VIvado Design Suite ユーザガイド
が、見るべきドキュメントらしい。
threadripper と ubuntu でのスクリーンショット
プログラムをビルドするとき、結構時間がかかる。そんなとき、 make コマンドに -j4 などといったオプションをつけると、make コマンドは4スレッド起動して並行処理してくれる。
開発用マシンとして先日組み立てたPCでは AMD ryzen threadripper 2050 なので、32スレッドをサポートしている。なので、 -j32 とオプションをつけて make してみた。
オプション無しと比べると雲泥の差で早く終わった!
-j オプションを指定しないとCPUが1つしか使われないが、-j32 を指定すると上記のグラフでわかるように、全部のCPUコアが同時に使われるため爆速となった。(^^)/~
Ubuntu でスクリーンショットを取るには、Psc(Print Screen)キーを押せばよい。
ウインドウを指定するには、対象ウインドウを選択した後、 Alt + Psc を押す。すると画像ファイルがホームディレクトリ下のピクチャディレクトリに作成される。
esp-idf と freeRTOS
ESP32 のたくさんある機能(特にネットワーク関連)を使うには、フレームワークとして ESP-IDF, そのコンポーネントとして FreeRTOS を使うのが良さそう。
もちろん、ツールチェーンとBSP(ペリフェラルのドライバソースコード)だけ用意し、他は自分で書く、といったマイコンチックな開発もできるはずだが、折角 ESP32 を使うならば無線ネットワーク(WiFiかBluetooth)で http や websocket などを使いたい。その場合は、RTOSやフレームワークといった使えるエコシステムに乗っかったほうが良い。
FreeRTOSはAWSに正式採用されているし、ESP-IDF のサンプルには AWS-IoT 用のものも含まれている。まだ動かせてはいないが、大変楽しみである。
ESP-IDF と platform.io
ESP32 用の公式フレームワーク
本家の Getting Started にしたがって、ESP32用のツールチェーンとライブラリをダウンロードしてインストールしていた。今日はその中の examples をビルドしようとして驚いた。 hello_world なサンプルプロジェクトが、make しようとするとビルドメニューが表示されたのだ。とんでもないくらいの多機能なメニュー項目が並んでいた。
各種ペリフェラルのサンプルプロジェクト、bluetooth, wifi, FreeRTOS, security,などなど。
サンプルの数、設定項目の数が多いので、理解すのには時間がかかりそうだが、これらのサンプルをもとにいろんなアプリケーションを作れそうだ。楽しみ。