Raspandy PAL オンラインヘルプ
ソフトウェア書き込みの仕組み
トランスローダーを使うことで、 Raspandy S1 にソフトウェアを書き込むことができます。ここでは、書き込みの仕組みについて説明します。仕組みを把握しておくことは、Raspandy S1 を使いこなす上で大きな助けとなります。
トランスローダーの役割は、書き込むソフトウェアをRaspandy S1に転送することです。Raspandy S1 のソフトウェアは拡張子「.hex」を持つファイルで、HEXファイルと呼ばれるものです。ここにはRaspandy S1 を動作させるための実行コードが書かれています。
この実行コードを、Raspandy S1 のプログラムメモリに書き込むことで、Raspandy S1 のソフトウェアが更新されます。この仕組みを実現するうえで、重要な機能が2つあります。
パソコンから Raspandy S1 へソフトウェアを転送する機能と、プログラム領域に実際に書き込む機能です。その役割を果たすのが、Raspandy PAL のトランスローダーと Raspandy BOOTLOADER (ラスパンディ ブートローダー)です。
まず、トランスローダーが Raspandy BOOTLOADER と通信し、ソフトウェアを転送します。そして、 Raspandy BOOTLOADER がプログラムメモリにソフトウェアの書き込みを行い、一連のプロセスが完了します。
ソフトウェアの書き込みが開始されるのは、Raspandy S1 がリセットされたときです。リセット直後、Raspandy BOOTLOADER が動作を開始し、トランスローダーからの通信を確認します。もし、トランスローダーからの通信があれば、その内容を確認したのち、ソフトウェアの書き込み動作を行います。逆に、通信がなければ自身の動作を停止し、通常のソフトウェアを起動します。こうした仕組みを採用ることで、Raspandy BOOTLOADER の存在をソフトウェアが意識しなくてよくなります。ソフトウェアは本来の処理に集中できます。
このような仕組みであるため、Raspandy S1 をリセットする方法が重要になります。そのリセットに合わせ、トランスローダーが通信を開始する必要があるからです。Raspandy S1 には2つの方法が準備されています。
-
ソフトウェアによるリセット:Raspandy CONSOLE の「RESETコマンド」を利用。
-
ハードウェアによるリセット:Raspandy S1 の裏面に存在する「RESETボタン」を利用。
最も強力な方法がハードウェアによるリセットです。強制的にリセットがかかり、たとえソフトウェアが暴走していたとしてもリセットされます。次に有効なのがソフトウェアによるリセットです。Raspandy CONSOLE が正常に動作し、「RESETコマンド」受け付けられる状態であればきちんと動作します。しかし、ソフトウェアに不具合があったり、そもそも「RESETコマンド」がサポートされていなければ、動作しません。
トランスローダーに「書き込みトリガーの設定」として、ソフトウェアとハードウェアの2種類あるのはこのような背景によるもです。デフォルトの設定はソフトウェアによるリセットとなっています。RESETコマンドはトランスローダーが発行するため、書き込みボタンのワンクリックで書き込みプロセスが自動的に進み、シンプルです。ハードウェアによるリセットでは、確実にリセットがかかる反面、書き込みボタンを押した直後に Raspandy S1 のリセットボタンを押す必要があり、ひと手間かかります。
書き込みプロセスが終わった後、Raspandy BOOTLOADER は通常のソフトウェアを起動させ、自身の動作を停止させます。
Raspandy Learning におけるレベル1の段階では、トランスローダーを使うことはあまりありませんが、レベル2からは自身でプログラミングを行うため頻繁に使うようになります。こうした背景を把握しておくことは、不具合発生時のトラブルシュートに役立ちます。また、将来別のシステムで独自のブートローダーを設計することになったとき、きっと参考になるはずです。