takinoya’s note on web

2008-05-05

FT232RLでCQ-STARMのFlashROMをリカバリー(1)

| 04:53

id:pcm1723:20080427:1209310807 にて面白いことが書かれていて、

BOOT0を+VCCに吊ってあげればシステムROMシリアルダウンローダが起動するとのこと。

秋月のFT232RLモジュール使えば、ほぼ直結でいけそう。

さっそく調査&実験。

先ほどのUSBシリアルの記事はこのための複線なり。

USBダウンローダ破壊実験

Host側準備1

http://www.st.com/mcu/familiesdocs-110.html#Firmware

に行って「STM32F101xx and STM32F103xx Flash loader demonstrator」から

をゲット。

um0462.zipを展開し、現れた.exeを起動してインストール

Host側準備2

インストールされた「STMicroelectronics Flash Loader Demonstrator」。これがCOM1〜COM9までしか使えない。

id:takinoya:20080505:1210001295 の小技で若い番号にしておく(w。

Host側準備3

id:takinoya:20080503:1209980898 で作成したLED点滅サンプルの

ベースアドレスを0x08003000→0x08000000に変更しリコンパイル

FT232RLモジュールの準備
  1. 外部電源にするため、J2をオープン
  2. ブレッドボードにモジュールを刺して、TXD,RXD,VCC,GNDからリード線を出す
    • f:id:takinoya:20080506022415j:image
CQ-STARMの準備
  1. BOOT0のプルアップ電源はJ2[39]にした
    • f:id:takinoya:20080506115732j:image
  2. BOOT0はJ2[11]
    • 不注意による短絡(よくやる...)が怖いのでJ2[11]⇔ケーブル間に1KΩを挟んだ
      • f:id:takinoya:20080506115744j:image
  3. Pull-Up/Pull-Down切り替えにボックスコネクタ(?)用のコンタクトをつけたリード線を装着
    • BOOT0=1
      • f:id:takinoya:20080506022334j:image
    • BOOT0=0
      • f:id:takinoya:20080506115700j:image
  4. シリアルラインを結線
    • FT232::RXD ⇔ STARM::UART1_TX(JP2[27])
    • FT232::TXD ⇔ STARM::UART1_RX(JP2[26])
    • f:id:takinoya:20080506022707j:image
  5. VCC, GND を結線
    • USBのVBUSがいいので J4立ててそこにつなぎます
    • f:id:takinoya:20080506022839j:image
接続
  1. FT232のUSBを先につなぎます。
    • VBUSが切り離されているので何も起きないはずです。
  2. CQ-STARMのUSBをつなぎます。
    • ここでFT232が認識されるばず。
ダウンロード

クセのあるツールなのでスクリーンショットでメモ。

  1. ツールを起動
    • f:id:takinoya:20080506041005p:image
  2. Nextで次へ
    • f:id:takinoya:20080506041006p:image
  3. 先ほど認識されたFT232のポートを選んで「Next」ボタンを押します。
    • f:id:takinoya:20080506041007p:image
    • ボーレート等はそのままでいいようです。
  4. うまく接続されると以下の表示になります
    • Warning dialogが出た場合はUSBコネクタを刺し直してください。
    • f:id:takinoya:20080506041008p:image
    • 自動認識されているようですので、そのまま「Next」ボタンを押します。
  5. 機能選択画面になります。
    • DownloadをチェックしてDownloadフレーム内の「...」ボタンを押します。
    • f:id:takinoya:20080506041009p:image
  6. ファイル選択画面になります
    • f:id:takinoya:20080506041010p:image
    • binary,Intel-hex,S19に対応しているようです。
  7. 「Next」ボタンを押して次へすすみます。
    • f:id:takinoya:20080506041011p:image
    • "Verify"は書き込み後に読み出しチェックをしてくれるようです
    • "Jump to user program"は書き込み後、ユーザプログラムの先頭にジャンプしてくれるようです。
    • 「Next」ボタン押したら速攻で書き込み開始されます。
  8. プログレスバーで進行状況が表示されます
    • f:id:takinoya:20080506041012p:image
  9. 以下の表示までくれば完了です。
    • 「Finish」ボタンで終了。ってあたりまえか。
    • f:id:takinoya:20080506041013p:image
チェック
  1. FT232との接続を外す
  2. BOOT0のVCCプルアップを外す
  3. J6を閉じてUSBを再接続します。
  4. J6閉じているのにLEDが点滅
    • 成功です。
まとめ
  • FT232RLを使えば簡単な結線でFlashROM書き換えができることがわかりました。
  • 以下の場合に大いに有用か、な?
    1. 限界いっぱいまでFlashROMを使用したい。
    2. ミスってUSBダウンローダが破損した

朝が来たので残りは明日・・・

ShiggyShiggy 2008/12/08 09:36 今日は!
 FT232RLを使用していますが、COM番号の
変更について再確認できました。
感謝!!