マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初級者の方からよく質問される「RAMで命令を実行する方法」です。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、初級者から多く寄せられる質問です。
マイコンのマニュアルで「RAMでプログラム実行時」「RAM実行(ウェイトなし)」といった記載を目にすることがあります。RAMでもプログラムを実行できるのでしょうか? RAMでプログラム実行できるのであれば、どのようにすれば実行できるのでしょうか? また、RAMでプログラムを実行するメリット、デメリットも教えてください。
マイコンの仕様によりますが、内蔵RAMでもユーザーのプログラムを実行できるマイコンがあります。内蔵RAMにユーザーのプログラムをロードし、実行する方法は、マイコンによって異なります。マイコンのマニュアルで、可能かどうかを確認して、可能な場合はマニュアルに記載してある方法に従って設定してください。統合開発環境(IDE)によって設定する場合もありますので、その場合は、IDEのマニュアルを確認してください。
ARM Cortex-Mプロセッサを搭載したマイコン「STM32ファミリ」(STマイクロエレクトロニクス製)の場合、直接内蔵RAMに命令をロードする方法と、フラッシュメモリから命令をRAMに転送してから実行する方法が選択できます。
RAMで命令を実行すると、ウェイトサイクルが入りません。またフラッシュメモリモジュールとRAMモジュールの消費電流を比較すると、RAMの方が少ないので、フラッシュメモリを止めてRAMだけで動作させると、低消費電力になります。ただし、RAMはフラッシュメモリに比べて容量が小さく、プログラムサイズに限界があります(図1参照)。
Copyright © ITmedia, Inc. All Rights Reserved.