主なMbed対応デバイスの紹介
Mbedを使い始めるといっても、実際にどのボードを開発ターゲットにするかは悩ましいことでしょう。たくさん(本稿執筆時には138種!)あるMbed対応デバイスですが、今回は何を使うと良いのか紹介をしていきましょう。
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でオペレーティングシステムを動作させたり、アプリケーションを開発するためには、このシステムレジスタについて理解する必要があるでしょう。
Xilinx Zynq UltraScale+ MPSoCは、これまでのZynqよりPS(SoC部分)が格段にスケール アップしています。ZynqはArmv7アーキテクチャーのArm Cortex-A9シングルまたはデュアルコアだったのに対して、MPSoCはArmv8アーキテクチャーのArm Cortex-A53デュアルまたはクアッド コアでさらにリアルタイム処理用のArm Cortex-R5デュアルコアやGPUも内蔵されています。
RISC-Vの命令セットの特徴について聞かれるとき、まず真っ先に「シンプルである」と答えると思います。実際、x86やArmなどのアーキテクチャに比べて命令セットは綺麗にまとめられており、あまり使うことのない無駄な命令も定義されていません。
皆さんは「RISC-V」という名前を聞いたことがあるでしょうか。コンピュータアーキテクチャ、プロセッサなどに興味を持っている方ならば、その名前を少しくらいは聞いたことがあると思います。RISC-Vは「リスク-ファイブ」と呼び、最近急速に注目を浴びているコンピュータの命令セットアーキテクチャです。
組み込みシステムにおけるローダーとは、電源が入り、RESET信号が解除されて動き出す最初のプログラムです。ローダーの役割は、プログラムをメモリ上に読み込むためにメモリコントローラの初期化を行い、プログラムが保存されているフラッシュメモリからSRAMやDRAMなどのメモリに展開して実行するまでの動作を行います。
SOLID-OSによる割り込みは、Toppers/ASP3がベースになっており、カーネルの管理下で割り込みの処理を行いますので、「割り込みサービスルーチン(ISR)」または「管理内割り込み」と呼んだりします。それ以外のものは、「割り込みハンドラ」もしくは「カーネル管理外割り込み」と呼びます。