ローダーを使いこなして、分割開発の悩みを解決
組み込みシステムにおけるローダーとは、電源が入り、RESET信号が解除されて動き出す最初のプログラムです。ローダーの役割は、プログラムをメモリ上に読み込むためにメモリコントローラの初期化を行い、プログラムが保存されているフラッシュメモリからSRAMやDRAMなどのメモリに展開して実行するまでの動作を行います。
組み込みシステムにおけるローダーとは、電源が入り、RESET信号が解除されて動き出す最初のプログラムです。ローダーの役割は、プログラムをメモリ上に読み込むためにメモリコントローラの初期化を行い、プログラムが保存されているフラッシュメモリからSRAMやDRAMなどのメモリに展開して実行するまでの動作を行います。
第2回では、Linduinoを用いてUARTでLTC6811のバッテリー制御を行いました。今回は、同じアプリケーションをMbed™上でビルドして、アナログ・デバイセズの超低消費電力マイコンで同じようにUARTで動かしてみます。
SOLID-OS interrupts are based on Toppers/ASP3, which handles interrupts under the control of the kernel, and are sometimes called "interrupt …
SOLID-OSによる割り込みは、Toppers/ASP3がベースになっており、カーネルの管理下で割り込みの処理を行いますので、「割り込みサービスルーチン(ISR)」または「管理内割り込み」と呼んだりします。それ以外のものは、「割り込みハンドラ」もしくは「カーネル管理外割り込み」と呼びます。
組み込みアプリ開発において、リアルタイムOS(RTOS)を使うメリットをこれまでに十分説明してきました。今回は、いよいよタスクの実装です。組み込みアプリを構築する上で、最も重要な部分です。使用する「SOLID-OS」は、Toppers/ASP3をベースにしたμITRON準拠のRTOSです。
QuickEvalは、LTC6811に対してグラフィカルな環境を提供してくれましたが、実際に組み込みシステムや車載機器では、自動的に処理をしてもらいたいもの。今回の実験では、この操作をLinduino(Arduino互換のマイコンボード)を使って、UART経由でバッテリ管理をしてみます。
レギュレーターには「リニア方式」と「スイッチング方式」がある。どちらにも、メリットがあるが、大電力で高効率を求められる今、「スイッチング方式」の電源(以下、スイッチング電源)一択である。「リニア方式」は、回路は簡単だがロスが大き過ぎてしまう。しかも、そのロスは、熱となって放熱する以外に対処不可能なのだ。しかし、スイッチング電源もメリットばかりではない。スイッチング電源の性能に最も求められていることは、「高効率化」と「小型化」だ。
スマートホームハブを搭載しているAmazon Echo Plusと、シリコンラボラトリーズのEFR32シリーズが対応しているZigbee Home Automationを使って、さまざまなスマートホームデバイスを動かしてみました。
組み込みシステムのアプリケーションを作っている場合、CPUの機能だけを使うことはほぼないと言っていいでしょう。通常、ハードウェアの操作を行うために用意するソフトウェアを「デバイスドライバ」と呼んでおり、パソコンなどでも頻繁に利用されています。