RISC-Vの実装
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることができます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることができます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。
今回は、Arm Mbedの構成要素の一つであり、最も重要な部分であろうMbed OSについて記したいと思います。これまで書いてきたように、Mbedには大きく分けて、Mbed OS 2とMbed OS 5の二つが存在します。しかし、Classicと呼ばれるようにMbed OS 2はメンテナンスモードですので、今回はMbed OS 5についてのみ記したいと思います。
今回は、MPSoCでOpenAMPを使って、第1回で動かしたLinuxと第2回で動かしたFreeRTOSを連携させてみましょう!OpenAMPは正式名称OPEN ASYMMETRIC MULTI PROCESSINGといい、The Multicore Association(MCA)で規定する非対称マルチコアで各コアが連携できるようにコア間の通信やリソースの管理を行うための標準規格です。
力率と電力の関係をシミュレータと実機で学びます。直流の時とは違い、電圧と電流の位相差を考慮した電力の計算が必要です。有効電力と皮相電力を理解して、理想的な力率に近づけるための理論をLTSpiceとADALMで学びましょう。
ハードウェアとしての仕様については、第2回と第3回で紹介した程度の知識があれば十分と思います。では、次にソフトウェア環境について見てみましょう。いくらハードウェアが揃っていても、ソフトウェア環境が不十分ではユーザは開発を行うことができません。RISC-Vのエコシステムを支える、ソフトウェア群について今回は簡単にご紹介します。
Mbedを使い始めるといっても、実際にどのボードを開発ターゲットにするかは悩ましいことでしょう。たくさん(本稿執筆時には138種!)あるMbed対応デバイスですが、今回は何を使うと良いのか紹介をしていきましょう。
Arm Mbedは、ただのマイコンボードではなく「IoTデバイスプラットフォーム」として、IoTにおけるソフトウェア互換性を含めた、ラピッドスタートな開発プラットフォームです。加えて、現在注目されている、クラウドへ接続するIoTデバイスの実現など、利用可能な多くのライブラリも含んでいます。
今回は、MPSoCのArm Cortex-R5上でFreeRTOSを動かしてみましょう!FreeRTOSはその名の通りフリーなリアルタイムOSです。2017年末にAWSのオープン ソース プロジェクトになり、ライセンスはMITになりました。Armを始め多くのCPUをサポートし、TCP/IP、TLS、ファイルシステム等のミドルウェア エコシステムもあります。
RISC-Vには、基本となる命令セットに加えてシステムレジスタも定義されています。RISC-Vでオペレーティングシステムを動作させたり、アプリケーションを開発するためには、このシステムレジスタについて理解する必要があるでしょう。