ペリフェラルの割り込みを静的にコアに割り付けてみよう!
今回は、Cortex-A53上のLinuxでコアとペリフェラルの関係を見てみましょう。Linuxは基本的にはマルチコアはSMP(Symmetric Multi Processing)で動作するため、動的に空いているコアに処理を割り当てます。ただし、静的に特定の処理を特定のコアへ割り付けることも可能です。その具体的な方法を見てみましょう。
今回は、Cortex-A53上のLinuxでコアとペリフェラルの関係を見てみましょう。Linuxは基本的にはマルチコアはSMP(Symmetric Multi Processing)で動作するため、動的に空いているコアに処理を割り当てます。ただし、静的に特定の処理を特定のコアへ割り付けることも可能です。その具体的な方法を見てみましょう。
交流信号のような周波数成分を伴った信号源を分圧する場合、抵抗だけで分圧すると、期待した波形にならないことがあります。それは、周波数を伴うとリード線や配線に含まれる容量性の負荷が影響するためです。一般的には、「浮遊容量(ふゆうようりょう)」もしくは「寄生容量(きせいようりょう)」と呼ばれています。
組み込みAI(人工知能)は、現在、コンスーマアプリケーションから産業用アプリケーションまで、様々なシステムに搭載されています。そこで、APSでは、AI初心者にもわかりやすく、かつ実践的な技術情報を学べる組み込みAIの連載講座を開設しました。「触って学べる」をテーマに、実際のボードやソフトウェアを使って紹介していきます。
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることができます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。
筆者がMbedを使い始めた理由は、インターネットにネイティブに接続できるマイコンボードが欲しかったからです。その頃の筆者は、中学生の頃にZ80を触って以来15年以上のブランクを経て、Arduinoを使い始めたところでした。その頃、ArduinoをIPネットワークに接続するには、IPスタックをハードウェアで実装したW5100というチップを使う事が一般的でした。
今回は、前回動かしたOpenAMPを使ってコア間通信をしてみましょう!OpenAMPにはコア間通信の仕組みであるRPMsgが実装されています。OSに依存しないため、アプリケーションのポータビリティが高く、様々なユース ケースに対応できます。
ローパスフィルタ(LPF:Low Pass Filter)とハイパスフィルタ(HPF:High Pass Filter)は、電子回路において重要な項目の一つです。今回は、パッシブ・フィルタと呼ばれる抵抗、コンデンサ、インダクタで構成されるLPFとHPFの特性をLTspiceとADALM1000を使って調べてみましょう。
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についてのみ記したいと思います。