Raspberry Pi の Hardware 情報取得時の不具合

今回は、Raspberry Pi の abs_agent で発生した不具合対応についての報告です。

先日、ユーザー様より指摘があり Raspberry Pi 用の abs_agent でハードウエア・アクセスモジュール(RASPI)でエラーが発生していました。下記はエラー発生時のログ情報です。

原因は、Raspbian OS の /proc/cpuinfo ファイルにある Hardware タグの内容が、BCM2835 という文字列になっていたためでした。開発時の環境ではここに、BCM2708 または BCM2709 の文字列が格納されていて、abs_agent ではこれをレジスタアクセス時のベースアドレス決定に使用していました。最近のディストリビューションではこの部分に BCM2835 が格納されていて、上記のエラーが発生してしまいました。

これに対応するため、abs_agent の最新のインストールキットとユーザーマニュアルを更新しました。

最新バージョンの abs_agent では、インストール直後に、abs_agent のコンフィギュレーションファイル abs_agent.xml を編集して、直接 Raspberry Pi のタイプを示す文字列を予め設定していただくように変更しました。<RASPI> .. </RASPI> タグ中の <Hardware>..<Hardware> 部分にプロセッサタイプを示す文字列を記入します。

Raspberry Pi で使用している SoC が BCM2835(Raspberry Pi ver1, Zero等) の場合には BCM2708 を記入します。SoC が BCM2836(Raspberry Pi ver2) や BCM2837(Raspberry Pi ver3) の場合には BCM2709 を記入します。

以下は、Raspberry Pi ver3 上でコンフィギュレーションファイルを編集している様子です。

詳しい内容はユーザーマニュアルにも記載してありますのでご覧ください。

ご意見や質問がありましたら、お気軽にメールをお寄せください。また abs_agent を使用する上で、質問や不明点、不具合など何でも結構ですので是非ご連絡ください。(contact@allbluesystem.com)

それではまた。