次に、STM8Sのメモリマップを見てみましょう。図4(a)はSTM8Sシリーズ共通のメモリマップです、図4(b)は実際の製品である「STM8S207」のメモリマップをデータシートから抜粋したものです。ここまでは、アドレス空間を比較しやすいようにアドレスの一番小さい0番地を下側に記載しました。しかし、図4(b)のように実際の製品のマニュアルでは一番大きいアドレスが下側に記述されている場合もあるなど、製品によって記載方法はさまざまです。
こちらは、アドレスの最も大きい番地にコードエリアが割り当てられており、その次にCPU/デバッグ/割り込み用レジスタエリアが割り当てられています。STM32F429と比較すると、コードエリア内に入っていたブートベクター、ブートROMが独立したアドレスに割り当てられています。周辺モジュール用レジスタエリアは、STM32F429とアドレスは異なりますが機能は同じです。また、STM32F429でコードエリア内に入っていたオプションバイトは、独立したアドレスに割り当てられています。EEPROMエリアはSTM8Sの特徴的な機能です。最後に、一番小さい番地に内蔵RAMが割り当てられています。
このように、同じマイコンベンダーの製品でも、基本的なアドレス割り付けをはじめ、製品またはシリーズごとに異なっています。ユーザーは各製品のマニュアルまたはデータシートよく読んで、メモリマップの各項目の意味を理解する必要があります。
ここまで紹介した製品のメモリマップは、各エリアが直線的に並んでいて、各項目も単純な機能であるため、比較的簡単で理解しやすいものです。バンク切り替え機能を持つマイコンや仮想記憶機能を持つMPU(Micro Processor Unit)ではより複雑なメモリマップになりますが、初級者向けの本記事では、ここまでの説明にとどめておきます。
(次の記事を読む)
NMI(ノンマスカブル割り込み)って何?
マイコンで信号の周波数をppmレベルで測定する裏ワザ
最も効果的なノイズ対策がついに判明!? よくあるEMS対策を比較する【実験編】
どのノイズ対策が最も効果的か? よくあるEMS対策を比較する【準備編】
裏技!? SPIに複数のスレーブを接続する方法
レジスタとRAMの違いCopyright © ITmedia, Inc. All Rights Reserved.
記事ランキング