SWD専用Versaloonクックブック
20120210追:
OpenOCDが0.6.0の2月以降のコミットでSTlink&STLink/v2の素のハードウエアに
対応しました!!もはやVersaloon化すら必要ありません!!
20110829追:
Versaloon本家の対応により、STM8S/STM32Discoveryに組み込まれたSTLink
のハードウエアにもめでたく対応となりました!!以下に長々と書いているかなり
無理やりなハードウエアの改造は、現在行わなくても済むようになっています!
それでもねむいさん(の方法)がだいすきなんだーい!って言う人だけ読んでください!
デバッガを備えた扱いやすい32ビットのプロトタイプボードたちが群雄割拠する現在、
彗星のごとく電子工作シーンに現れそのまま大気圏に突入して消滅した
STM8S-Discoveryには32bitMCUを使用した2線式デバッガハードウエアSTLinkが
搭載されています。
このSTLinkの本体はSTM32F103C8T6というSTM32のARMマイコンで、これは
Versaloonというリソースが公開された汎用のデバッガハードウエアにも使用されて
いるものです。
今回は、そのままでは糞の役にも立たないSTM8S-DiscoveryのSTLink部分に
物理的改造を施し、SWD接続専用の簡易Versaloonとして再生する手順を
紹介します。
注:制限事項
・この改造はVersaloon-miniのハードウエア互換にする改造です。
・VersaloonはARMの他に多数のマイコンをサポートしているが
この改造はARMの、それもCortex-Mx専用になります!
・てわけでSWD接続以外の接続はできない(ていうかできねぇ!)
・頑張ってTDIとかTDOとか引き出せばJTAG接続も使えるけど
すごいめどいからやらないよ!
・3.3V以外の信号レベルでは接続できない(一応5Vトレラント)
・作業工程はWindowsXP以降の環境を使用。Windows7x64環境でも動作します!
・真似して改造して基板がゴミになっても泣かない
・ていうかJTAGKey/JTAGKey2Cloneをすでに持ってる方の補助的な位置づけです。
・ハードの改造がめどいですという方はiruka氏のオレオレblaster化をお勧めします。
・SWD専用ですが、本家の対応でめでたくSTM8S/STM32DiscoveryのSTLink
のハードウエアにも対応となりました!!↓に長々と書いているハードの改造を
無理にしなくても済むようになっています!大事なことなので2度言います!
●必要なもの
1.STM8S-Discovery
これが無いと話になりませんね。750円でSTM32単体買うより安いです。
必要部品はすでに乗っていて一から回路起こすより断然楽です!
2.12MHzのクリスタル
Versaloonの標準的なハードウエアは12MHzの外部クロックが必要です。
STM32の103系って標準が8MHzなはずだが…
ソフトが苦手なねむいさんとしてはハードウエアの方をカチ合わせる方
針で改造を進めます!いちいち修正してビルドするのめんどいし!
3.チップ抵抗
1608~2012メトリックの100ohmを2つ・10kohmを3つ。これはポート保護&
フローティング時の信号レベル固定用です。
4.1列ピンヘッダ
SWDやUARTの信号を外部に引き出す用途に使用します。
5.0.26mm位のUEW・AWG26位のジャンパ線
UEWは48PinTQFPから足を引き出したりジャンパしたりに使用します。
ジャンパ線は3.3Vの電源ラインをバイパスするのに使用します。
6.USB-シリアル変換若しくはパソコンとUARTで通信できる何らかの装備
改造工程でUARTによるブートローダを立ち上げてDFUを書き込む必要があります。
もちろん信号レベルはTTLレベルに各自で合わせておいてください。
(JTAGでも書き換えられますがここでは触れません)
また、DFUを書き込むためにPC側のプログラムはFlashLoaderDemonstratorを使用
しますので各自インストールしておいてください。
DFUを書き込んだ後はDfuSeを使いVersaloon本体を書き込みます。同じくインス
トールしておいてください。
7.2.54mmピッチのショートピン
パソコンでも使用する標準的なショートピンを。STM8S基板にひっついている奴を
流用しましょう。
8.TQFP(0.5mmピッチ)の足を上げたりはんだつけしたりが余裕で出来る技能
まぁこのブログを普段から見られている方はデフォで出来るでしょうからからあ
えて言わずもがなですね…(カメラ目線)
●改造手順
※一気に改造するとなにが悪かったのか切り分けできなくなるので
逐次動作確認を行い、改造していきます。
1.先ずSTM8S-Discoveryのミシン目をカットしSTLinkと燃えないゴミにわけます。
2.次にUART用のPinをUEW線にハンダ付けで繋げ、外部に引き出します。
3."2."で引き出したUARTのピンはピンヘッダを使って外部に出しましょう。
UART-TX(TxD)は10kohmで必ずプルアップしてください。
4.丸内の部分をジャンパします。ここから+3.3Vを外部に出したいなんて人は
AWG24位の太い線でジャンパしましょう
5.次に丸内のBOOT0のPinに当たる部分を丸内の+3.3Vラインに
ジャンパで飛ばします。
6.USBシリアル変換と"3."で付けたピンをTxDとRxDに注意して接続します。
そしてSTLink側のUSBコネクタをPCに挿しこみます。
USBデバイスが認識されないエラーがでますが無視で。
7.FlashLoaderDemonstratorを起動します。STM32のUARTブートローダーが正しく
起動していればこの画面が見えるはずです。操作法などの細かい説明はこちら
にうっちゃりますが、先ずここでDFUのプログラムを書き込みます。
(Versaloon_DFU_Bootloader.zip)
STLinkのファームウエアははこの時点で消去されてしまいます。
8.元STLinkをPCから外し、"5."で行ったジャンパはもう必要ないので外します。
てか外さないと何やってもSTM32のUARTブートローダーが立ちあがっています。
9.次に書きこんだDFUの起動確認を行います。クリスタルを8MHzのものから12MHzの
ものに差し替えます。丸内の箇所にショートピンを挿し替えます。
10.再び元STLinkとPCをUSBケーブルで接続します。USBデバイスとしてDFUが認識
されたらOKです。まだVersaloon本体は書きません!
11.DFUが起動するのを確認したら一旦PCから抜きます。Versaloon本体を書く前に、
SWDを外部に引き出すための改造をします。四角内の部分の足を丁寧に上げます。
12.足を持ち上げたらまとめてUEW線をハンダ付けして引き出します。
13.ターゲットにSWD接続を行うためのピンを引き出します。JTAG用のポートが
余っているのでこれを利用しましょう。
VersaloonはPB6,PB7をSWDIO用,PB13をSWCLK用のポートとして
使用します。図中の表記はこれに倣っていますので間違えないように
してください。
14.SWDに使うポートを引き出す改造が終わったら"10.の操作を再び行いDFUを
認識させます。そして"DfuSe Demonstrationを立ち上げ、
Versaloon本体のDFUファイルを書き込みます。
15.書き終わったらUSBケーブルを外し、"14."で行ったショートピンを
丸内の位置にします。以後Versaloonのプログラム本体の書き換えは
DFU経由で行います。
16.再度元STLinkとPCをUSBケーブルで接続します。USBデバイスとして、今度は
Versaloonが認識されたらOKです。LibUSBのドライバを読み込ませてください。
非常に操作が簡単なzadigを使ってLibUSBのドライバをインストールしてください。
17.vsprog等を使用しSWDで繋がるCortex-Mx系のマイコン
(LPC1xxx,STM32,ATSAM3x,etc)でVersaloonが使用できるか確認します。
結線さえあっていればこの時点でSWD接続で操作できます。
JTAGのTMS = SWDのSWDIO
JTAGのTCK = SWDのSWCLK
Simonquian氏のページで配布しているvsprog/vsgui等のソースをビルドして
利用するかSWDのパッチを当てたOpenOCDをビルドし使用しましょう。
おや…これは…
…というわけで余り物の材料かき集めたら1000円以内でCortex-Mx系の
ライタ/デバッガが手に入ってしまいます。STM8S-Discoveryを買って
しまった人は玉砕覚悟でVersaloonへの改造を試してみてはいかがでしょうか?
20230819追:
上記で紹介したDFUファイルやVersaloonプロジェクトは公開終了しました。
もし今の世でVersaloon作ってみたいなんて方はねむいさんに連絡ください。
-
免責・連絡先は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (116)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (13)
- FPGA (4)
- GPS/GNSS (19)
- MISC (81)
- STM8 (2)
- Wirelessなアレ (16)
- おきぱ (1)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (25)
- STM32U0はぢめました
⇒ ねむい (08/07) - STM32U0はぢめました
⇒ ひかわ (07/28) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (05/17) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ どじょりん (05/16) - いろいろ試す61(と今年の反省会)
⇒ ねむい (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/02) - いろいろ試す61(と今年の反省会)
⇒ ひかわ (01/01) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ねむい (12/31) - STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-
⇒ ひかわ (12/31)
- October 2024 (1)
- September 2024 (1)
- August 2024 (1)
- July 2024 (1)
- June 2024 (1)
- May 2024 (1)
- April 2024 (1)
- March 2024 (1)
- February 2024 (2)
- January 2024 (1)
- December 2023 (4)
- November 2023 (2)
- October 2023 (2)
- September 2023 (1)
- August 2023 (2)
- July 2023 (1)
- June 2023 (2)
- May 2023 (3)
- April 2023 (1)
- March 2023 (1)
- February 2023 (1)
- January 2023 (1)
- December 2022 (2)
- November 2022 (1)
- October 2022 (1)
- September 2022 (1)
- August 2022 (1)
- July 2022 (1)
- June 2022 (1)
- May 2022 (1)
- April 2022 (1)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (2)
- October 2021 (1)
- September 2021 (1)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- March 2021 (1)
- February 2021 (1)
- January 2021 (1)
- December 2020 (3)
- November 2020 (1)
- October 2020 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (1)
- June 2020 (2)
- May 2020 (1)
- April 2020 (1)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- December 2019 (3)
- November 2019 (1)
- October 2019 (1)
- September 2019 (2)
- August 2019 (1)
- July 2019 (1)
- June 2019 (1)
- May 2019 (1)
- April 2019 (1)
- March 2019 (1)
- February 2019 (1)
- January 2019 (1)
- December 2018 (3)
- November 2018 (2)
- October 2018 (1)
- September 2018 (1)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (1)
- April 2018 (2)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (6)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.