目次
FreeRTOSの概要
今回は、MPSoCのArm Cortex-R5上でFreeRTOSを動かしてみましょう!FreeRTOSはその名の通りフリーなリアルタイムOSです。2017年末にAWSのオープン ソース プロジェクトになり、ライセンスはMITになりました。Armを始め多くのCPUをサポートし、TCP/IP、TLS、ファイルシステム等のミドルウェア エコシステムもあります。FreeRTOSについてもっと知りたい人は、Webサイトを読んでね!
Xilinx Software Development Kitで新規プロジェクトを作成してみよう
FreeRTOSのビルドには、Xilinx Software Development Kitを使用します。Xilinx Software Development Kit、略してXSDK。なんだかカッコイイですね!XSDKの詳細やダウンロードについては、XilinxのWebサイトを読んでね!※ダウンロードには、Xilinxのアカウントが必要です。
Xilinx Software Development Kit (XSDK)
XSDKを起動しワークスペースを設定すると次の画面になります。Create Application Projectをクリックするとプロジェクト作成画面が表示されます。
次の通り設定してください。Hardware Platformはお使いのボードに合わせて選択してください。設定できたら、Next>をクリックしてください。
アプリケーションのテンプレートを選択します。まずはHello Worldを動かしてみましょう。選択したらFinishをクリックしてください。
BSPを設定してみよう
BSPが生成されます。BSPの設定を行うため、右クリックしてメニューが表示されたら、Board Support Package Settingsをクリックします。
BSPの設定画面が表示されたら、freertos10_xilinxを選択します。
stdin/stdoutをデフォルトのpsu_uart_0
からpsu_uart_1
に変更します。psu_uart_0
はArm Cortex-A53が使用するためです。
この画面でFreeRTOSのカーネルのコンフィグレーションもできます。
設定が完了したら、Re-generate BSP Sourcesをクリックし、BSPを生成し直します。
First Stage Boot Loaderをビルドしてみよう
次にFirst Stage Boot Loader (FSBL)をビルドします。File -> New -> Application Projectをクリックして、プロジェクト作成画面を表示します。次の通り設定し、Next>をクリックします。
Zynq MP FSBLを選択し、Finishをクリックします。
FSBLが生成されたら、右クリックしてメニューを表示させ、Create Boot Imageをクリックします。
Addをクリックします。
File pathにaps_freertos_appプロジェクトのDebugディレクトリーの下にあるelfファイルを設定し、Destination CPUはR5 0を選択し、OKをクリックします。
Boot image partitionsにイメージが追加されていることを確認し、Create Imageをクリックします。
SDカードをボードへ挿してブートしてみよう
FSBLプロジェクトのbootimageディレクトリーの下にあるBOOT.binをSDカードの最初のFATパーティションへ格納します。UART0はArm Cortex-A53上のFSBLの出力、UART1はArm Cortex-R5上のFreeRTOSの出力です。
プロジェクト作成時にlwipのテンプレートを選択すれば、すぐにTCP/IPが使えます。みなさんも遊んでみてください!
Xilinx社製 Zynq® UltraScale+™ MPSoC搭載ボード
ザイリンクス社のZynq UltraScale+ MPSoC デバイスは、Quad-core Arm® Cortex®-A53とDual-core Arm Cortex-R5、最大1143KロジックセルのFPGAを搭載した、All Programmable SoCデバイスです。CPUコアの性能はもちろんのこと、DDR4対応やセキュリティのサポート、GPUにはDual-coreのMali™-400、USB、GbE、PCIe Gen2x4、DisplayPortをも搭載しています。開発ツールは、Vivado® Design Suiteをはじめ、SDSoCによるプログラマブルデバイスならではのシステム開発環境が利用できます。今回の講座では、Zynq UltraScale+を搭載した「ZCU102/ZCU104評価キット」を使用します。
最新情報をメーカーサイトで見る
DTSインサイト社製 adviceLUNA Ⅱ
情報家電などの組込み製品には、高機能であることや高い処理性能が求められています。LinuxやAndroidなどのプラットフォームには、マルチコアCPUが搭載されるようになり、システムは複雑かつ大規模化し、ソフトウェアのデバッグは困難を増しています。adviceLUNA Ⅱは、従来デバッガのデバッグ機能に加え、Linuxデバッグやマルチコアデバッグに対応した高度なデバッグ機能、トレース機能、測定機能、解析機能を提供することで、MMUの仮想記憶環境やマルチコアCPUで並行動作するような複雑なソフトウェアのデバッグをサポートします。
最新情報をメーカーサイトで見る
組み込みLinux導入/開発支援サービス
組込みLinuxによりお客様の装置開発に新たな価値を提供します。
富士通コンピュータテクノロジーズ
こちらも是非
“もっと見る” 組み込みLinux|MPSoC編
PMUを使いこなして、より安全なシステム設計にチャレンジ!
MUを使ってMPSoCの温度と電力を監視する 今回は、MPSoCのPMUを活用してみましょう。これまではMPSoCのArm Cortex-A53とArm Cortex-R5を活用してきましたが、今回はもう一つのプロセッサであるであるPMUを活用してみましょう。
adviceLUNA Ⅱを使ってOpenAMPのコア間通信をデバッグしよう!
今回は、Arm Cortex-A53上のLinuxとArm Cortex-R5上のFreeRTOSをデバッグしてみたいと思います。デバッガとしては、Armを使ったシステム開発にて根強い人気を誇る「adviceLUNA Ⅱ」を選択しています。
Zynqに搭載されたPS部を活用し、仮想化ソフトウェア「Xen」を実行してみよう!
今回は、MPSoCのPS部を活用して、Linuxの仮想化の実装であるXenを動かしてみましょう。MPSoCは、Arm Cortex-A53クアッド コアで複数のOSを動作させられる高いパフォーマンスなので、仮想マシン(VM)を動かすことができます。