STM32開発環境

いつもどおり自分のためのメモ。

ほとんどの内容は
STM32メモ - ロボット工作研究室
を参考(ほとんどパクリ)にしてます。

<インストール>
・IDE/コンパイラ Ride7
Ride7はフリーでインストールが楽、動作も安定してる
とのこと。でも全部英語。

http://www.mcu-raisonance.com/mcu_downloads.html
の「Previous Free Raisonance Tool Downloads」
から
Ride7xxxxxxx.exe(ide?)

RKit-ARMxxxxxxx.exe(compiler、130MB超)
をダウンロード。
どちらも実行することで適当にインストール。

・DFU書き込みアプリケーションDfuSe
http://www.st.com/mcu/modules.php?name=Downloads
から
STM32[Submit]→Software - PC[Submit]
→DfuSe
でダウンロード。
ダウンロードしたものを解凍し、デバイスをPCに接続しないで
インストールする。インストールの終わりころに
DFUドライバの置き場所が表示される。
DWM付録STM32の場合、J6をショートすればDFUデバイスとして
認識されるのでこの状態でPCに接続する。
「STM Devide in DFU Mode」のデバイスが検出されるので、
先ほどの置き場所を指定してドライバインストールする。

・コンソール版DFU作成ツール
シバ某さんのCQ-STARM基板 ダウンロードのページ(
http://www.geocities.jp/altshibabou/win/cqstarm_dl.html
)からHex2DFU.EXE バイナリ・ソースをダウンロード。
DfuSeがあるフォルダのBINフォルダにHex2DFU.EXEを入れておく。
※これをRideで使うため、LD.configを修正して使う。
LD.configは素直にインストールすれば
C:\Program Files\Raisonance\Ride\Config\ARM
にある。
Rideが日本語対応でないため文字化けするが
オプションを打ち込めるようにしてるので
Vender ID,Product ID,Versionなどを変更でき、
.rappファイルに保存もできる。
「LDconfig.lzh」をダウンロード
Hex2DFU.EXEの置き場所は直打ちしてるので
適宜変更のこと。

これでインストールに関しては終わり。

必要に応じて
http://www.st.com/mcu/modules.php?name=Downloads
から
・ペリフェラルライブラリ
STM32[Submit]→Firmware[Submit]
と選んでいき、
STM32F10x_StdPeriph_Lib
のものをダウンロード。
・USBデバイスライブラリ
STM32[Submit]→Firmware[Submit]
と選んでいき、
STM32_USB-FS-Device_Lib
のものをダウンロード。
※この中のサンプルをモディファイすればよさそう。
Virtual_COM_Portについては、メニューのProject-Propertiesの
Configration:はSTM3219B-EVALを選べばコンパイル自体は通る。
(動作は確認してない。)

<Rideのプロジェクト設定>
・DFU(USBダウンロード)対応
DFUが0x0800 0000~0x0800 2FFF番地に配置されているので
0x0800 3000番地からのプログラム領域に書き込む必要が
ある。
メニューのProject→PropertiesのLD LinkerのMoreに
-Wl,--section-start -Xlinker .isr_vector=0x08003000
を追加することで開始アドレスを0x08003000へとずらす。
また、プログラム中でベクタテーブルを再設定する必要も
ある。「STM32メモ」の自作テンプレート参考。
・DFU設定
上記でLD.configを修正していれば、
LD LinkerのGeneralにDFUの欄が現れる。
ここでHex2DFU.EXEのoptionを指定できる。
デフォルトで「-w -v0483 -p0000 -b0000」と
している。
※DWMではVender ID,Product ID,Version
(それぞれ上記の-v,-p,-bに対応)には
任意の値を入れても正常動作とあった。
写真ではそれぞれ0483,3210,0001が入力されていた。
また、DWMのstm32の場合virtual comでは
0483,5740,0100となっていた。
usb_desc.cの内容にあわせるのでしょうけど。

<Rideプロジェクトのmake/build>
メニューのProject→Make Project
またはBuild Projectとするだけ。

<DFU書き込み>
書き込みアプリDfu Demonstrationを
スタート→プログラム→STMicroelectronics→DfuSe
→Dfu Demonstration
で起動。
ここでDFUデバイス(DWM付録STM32の場合、J6をショート)と
してPCに接続。
アプリが検出すると「STM Device in DFU Mode」と
表示される。

「Upgrade or Verify Action」にある「Choose」ボタンを押し、
dfuファイルを指定、「開く」ボタンを押す。
(「Upload Action」の方と間違えないよう注意!)
「Upgrade」ボタンを押すと、何か聞かれるが「はい」とする。
「Upgrade successful!」が表示されたら書き込み完了。

<その他>
・シリアルによる書き込み
DFUファームを壊したとしてもこの方法なら確実に書き込める。
http://www.st.com/mcu/modules.php?name=Downloads
から
STM32[Submit]→Software - PC[Submit]
→Flash loader demonstrator
でダウンロード。コマンドライン版も同梱。
 ・PA9のUSART1_TXとPA10のUSART1_RXにシリアル接続(5Vトレラント)。
 ・BOOT0をHに、BOOT1をLにして電源入れるとシリアルブートローダが起動。
 ・Flash loader demonstratorでHEXファイルを書き込み

トラックバック


この記事へのトラックバック一覧です: STM32開発環境:

コメント

この記事へのコメントは終了しました。