メニュー

九州・中国地方密着型!組み込み機器のお悩み、当社が解決します!

組み込み機器 受託開発・生産センター.com
組み込み機器 受託開発・生産センター.com

Produced by株式会社サンエス

設計のポイント

変数の参照と割り込み処理の落とし穴

分類マイコンファームウェア設計のポイント

設計のポイント

ロング長(32ビット/4バイト)の変数を読み取るときに、
マイコンによっては 1命令で読み取れるものと、16ビットずつ 2命令で読み取るものとがあります。
具体例: ルネサス H8マイコンは 1命令、 ルネサス RL78マイコンは 2命令

2命令で読み取るマイコンの場合、注意しないと以下のような不具合が発生することがあります。

・不具合例

ロング長の変数をタイマー割り込み内でカウントアップし、その値をメイン処理で参照するものとします。

RL78マイコンはリトルエンディアンで、ロング長の変数の下位の16ビットを読み取った後、
上位16ビットを読み取るという順になります。

このとき例えば、変数が0x0001FFFFのときにメイン処理で変数の読取りを開始して、
下位の16ビット(0xFFFF)を読み取った直後に割り込みが発生したとします。
割り込み内で変数をカウントアップすると、値は0x00020000になります。
この後、メイン処理でカウンター値の上位の16bit(0x0002)を読み取ると、
ロング長のカウンター値は0x0002FFFFとなって
本来 0x00020000 であるべき値を0x0002FFFFと誤ってしまうことになります。

変数の参照と割り込み処理の落とし穴

上記のような場合は、割り込み禁止にしてから変数を参照し、割り込み許可に戻す必要があります。

補足情報

当設計のポイントを含む、技術資料「ファームウェア 設計開発のポイント」のダウンロードが可能です。是非ご確認下さい。

>>ダウンロードはこちら!

設計開発のポイント

 

お気軽にご相談ください

組み込み機器 受託開発・生産センター.comを運営する株式会社サンエスは、九州・中国地方に特化したサービス提供を行っており、ものづくりのパートナーとして選ばれています。回路・基板設計~メカ設計までの一貫対応と、部品実装や組立まで任せられるODM企業として、皆様の困難な課題を解決します。

[受付時間] 9:00〜17:00
土日祝 定休
084-960-6370
制御システム事業部 業務推進室 宛
技術資料のダウンロードはこちらから 技術資料ダウンロ―ド メールフォームでのお問い合わせはこちらから ご相談お問合せ