LinuxをArmボードで動かしてみよう!
組み込みLinuxが理解できれば、より一層の低省電力・省スペースの提案が可能になります。Raspberry Piの登場をきっかけに、初心者の方にも組み込みLinuxがより一層身近になりました。今回のこの講座を活かして、より多くの方に組み込みLinuxを使う上での基礎技術を学んでもらえればと思っています。
組み込みLinuxが理解できれば、より一層の低省電力・省スペースの提案が可能になります。Raspberry Piの登場をきっかけに、初心者の方にも組み込みLinuxがより一層身近になりました。今回のこの講座を活かして、より多くの方に組み込みLinuxを使う上での基礎技術を学んでもらえればと思っています。
Cortex-M7もCortex-M3/M4と同じように低消費電力モードをサポートしています。基本はCortex-M3/M4と同じです。Cortex-M7にはWIC(ウェイクアップ割り込みコントローラ)を含むと3種類のスリープを持っていることになります。
AXI転送を行う際には、次に示す制限があります。バーストは、最大32バイト。バースト長さは、最大4転送。Strongly-orderedメモリまたはDeviceメモリの書き込みバーストの最大長は2転送です。Strongly-orderedメモリまたはDeviceメモリの読み出しは、常に1転送です。
Cortex-Aで採用されているユニフィケーションのポイント(Point of unification:PoU)と一貫性のポイント(Point of coherency :PoC)の考え方がCortex-M7でも採用されています。
データ・キャッシュにヒットする書き込みアクセスは、キャッシュRAMにデータを書き込みます。もし、メモリ領域が、Write-Throughにマークされているのであれば、書き込み動作はAXIMインターフェース上でも実行されて、外部メモリにも同じデータがストアされ、外部メモリとキャッシュの一貫性が保たれます。
Cortex-M7はハーバードキャッシュ(命令キャッシュとデータキャッシュ)を搭載しています。キャッシュのサイズはマイコンベンダーのオプションになっていて、命令キャッシュとデータキャッシュで各々4KB~64KBを選ぶことができます。
AXI(Advanced eXtensible Interface)プロトコルは、既にCortex-RやCortex-Aでは採用されており、高性能、高周波システム設計をサポートするプロトコルです。Cortex-Mシリーズでは、M7が初めて搭載しました。
Cortex-M7のインターフェースには、AXIM、ITCM、DTCM、AHBP、EPPBの様々なバスインターフェースが存在します。そして、各メモリ領域に接続されるメモリの種類、用途によって最適化されています。
FPU:単精度(SP:single precision)のために最適化されたパイプラインです。内部は物理的に、2つのパイプラインに分かれており、ひとつが加算等の単純演算パイプライン、もうひとつが乗算、除算等の演算パイプラインです。