Linuxカーネルのコンフィグレーションを変えてみよう!
Cyclone V SoCのカーネルは、すぐにPreempt RTが利用できるようになっているので、動かしてみましょう!まずは、カーネルのコンフィグレーションとビルドを行います。Linuxカーネル ソースをPreempt RTのブランチに切り替えて、コンフィグレーションを有効にして、再ビルドします。
Cyclone V SoCのカーネルは、すぐにPreempt RTが利用できるようになっているので、動かしてみましょう!まずは、カーネルのコンフィグレーションとビルドを行います。Linuxカーネル ソースをPreempt RTのブランチに切り替えて、コンフィグレーションを有効にして、再ビルドします。
Linuxはperfやftrace等、プロファイルやトレースを採取するツールが揃っています。TRACE32を使ったプロファイルやトレースはArmコアの機能を使って本番に近い環境で実施することができるので、Linuxで精度の高い情報を得ることができます。
linuxカーネルをコンパイルして、デバッグする方法を紹介します。Linuxカーネルは、必要な機能を選択するコンフィグを行ってから、コンパイルします。カーネル本体はzImage、カーネルが読み込むボード毎の設定がdtbです。
今回はLinuxのデバッグをツールでやってみます。使用するツールは、Lauterbach TRACE32です。組み込みシステムの開発で世界で最も使われているデバッガです。Linuxのデバッグを行う前に、まずはカーネルをビルドします。
Linux上からFPGAのコンフィグレーションを変更する方法をご紹介。2つの.rbfをコンソールからダイレクトに書き換える方法をご紹介します。これができれば、とても柔軟なシステムが簡単に構築できますよ。
SystemdはLinuxシステムを管理するフレームワークです。Red Hat Enterprise Linux, Ubuntuを始め、AtlasボードにプリインストールされているAngstrom等多くのLinuxディストリビューションがSystemdを採用しています。
Linuxを起動する際に必要となるU-Bootの作り方について紹介します。DE0-Nano-SoCで用意されているパッケージをもとにしているので、比較的簡単にブートローダを作成することができます。
SMARTはYocto Projectで採用されているパッケージ管理システムです。Red Hat/CentOS/FedoraのDNFやYum、Debian/Ubuntuのapt-getのYocto版のような位置付けです。今回はオリジナルのSMARTからフォークして改良されたSMART2を使います。
組み込みLinuxが理解できれば、より一層の低省電力・省スペースの提案が可能になります。Raspberry Piの登場をきっかけに、初心者の方にも組み込みLinuxがより一層身近になりました。今回のこの講座を活かして、より多くの方に組み込みLinuxを使う上での基礎技術を学んでもらえればと思っています。