STM32 DWM誌 2008/06

DWM誌 2008/06号は、先月号付録のSTM32 (ARM Cortex-M3)基板(CQ-STARM基板)関係記事
GCC開発環境の記事が2本。


1つはUSARTを使ったgdbスタブでデバッグする記事。

こちらの記事中、「STM32のバスアーキテクチャはICODEバスがFlashにしか接続されておらず、このためSRAMにプログラムを置けないからFlash上でデバッグせざるを得ない」(要旨)という記述がある。
確かにSTM32のブロック図を見ると ICODEバスはFlashにしか接続されていない。

しかし、ARMのCortex-M3 Technical Reference Manualを見ると、インストラクションフェッチはICODEバスに限定されておらず、(SRAMが接続されている)Systemバスからフェッチすることも可能であるようだ。

それに、STM32のブートモード設定は「オンチップ(Embedded)SRAMから起動」というモードもあるし、SystemMemory(起動用に用意されている2KBのFlash)に書き込まれている system memory boot mode プログラム(USART1からオンチップFlashを書き換える)の説明を見ると、SRAMにコードをダウンロードする機能も用意されている。
なので、SRAM上でコードを実行できないというのは???

ためしに、CQ-STARM基板のBOOT0,BOOT1ピンをプルアップ出来るように改造し、openocdでSRAMにコードロードして実行してみたが、もちろん実行できた。
筆者は完全ハーバードアーキテクチャだと勘違いされているのではないかと思う。記事中のバスアーキテクチャ図はなぜかSystemバスが描いてないし…。


もう1つの記事はFT2232を使ったJTAGデバッガを自作し、GCC(ARM Tool Chains)は codesourcery.com のを使う記事。
FT2232を使ったOpenOCD対応JTAGデバッガ市販品は1万円くらい(たとえばストロベリーリナックスさんで販売してるOlimex ARM-USB-OCD 9980円)。自作すると半額くらいで出来るとのこと。
でも、そのくらいの差額なら…私は市販品を買っちゃう(買ってしまった)。まあ、1万円はボってる気もするけどね。

私はGCC+Eclipse+OpenOCDで開発しようとしているので、こちらの記事はかなり参考になりました。

ググったら、こちらの記事を書かれた山崎尊永さんは、以前日立で初代SHマイコンが開発されているとき、SH用開発ツールを一人で作られた筋金入りの人のようですね。
SuperH 開発ストーリ(ルネサステクノロジ)

コメント

タイトルとURLをコピーしました