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 (80)
- STM8 (2)
- Wirelessなアレ (16)
- ブラウザベンチマーク (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)
- 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 (7)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.
Comments
何時も閲覧させて頂いています
此処の以前の記事を見て何時かはと思い
でも力量が無く、指を咥えていました
今回の記事は未だ良く見ていませんがやっと自分も
Versaloonに改造出来るかと
凄くわくわくしています
明日良く見させて頂きます
目がショボショボで
明日になります
此からも活躍を
はじめまして。
いつも楽しみにアクセスしています。なんといってもタイトルの
後の数行が面白すぎます。
この記事を元に、死蔵しているブツの改造を行わせて頂きます。
しかし、概念がさっぱり判っていませんが、大丈夫かなあ。
ま、作るだけなら3つあるので、1つくらいは成功しそうです。
よろしくお願いしますm(_ _)m。
sec様、Shuji009様
はじめまして ねむいです。
一件複雑そうにみえますが私の説明がくどくなっているだけなので
先の細いコテを使用すれば特に難しい個所もなく作業は完了出来るでしょう。
頑張ってくださいね〜
本日、工作しました。
不器用なので苦労しました(;_;)。
なんといっても難しかったのが、11.の、ICの足を持ち上げるの・・・
ねむいさんは、どうやってやられたのでしょうか?
後、ソフトも全然入れてないので、検索で探したり、インストール
したりも意外に時間が掛かりました。
作って気がついたのですが、
>16.SWDで繋がる適当なマイコンでVersaloonが使用できるか確認します。
持っていないorz・・・・
Shuji009様
ねむいです。こんにちは。
ピンの足上げは対象のピンをコテで温めつつ100均でも売ってるようなソーイング
セットの縫い針を使いピシッと引っかけ上げてます。一見難しいように感じますが、
コツをつかめば無鉛ハンダな環境でも簡単にできるようになりますよ〜
特に今回は隣り合う2つのピンを上げるので初めてでも難しくはないでしょう。
あとSWD接続ができるCortex-Mx系のARMマイコンについて、安価で手に入りやすい
ものを挙げるとLPCXpressoのLPC1114,LPC1343そしてLPC1768版が相当します。
JTAGのTMSに当たるのがSWDIO,TCKに当たるのがSWCLKです。Shujiさんの場合は
STM8S-Discoveryを複数持たれているので改造前の基板のSTM32部分を用いて試し
てみてください。
ねむいさん、お忙しいのにわざわざ済みませんm(_ _)m。
ダウンロードさせていただきました。
今のところはまっていましてうまく動作していません(汗;)。
デバイスマネージャでversaloonがでてこないので、困っています
(STMicroelectronica Virtual COM Port COM4と表示)。
13でTarget in fileが、ねむいさんの図とは異なり、"ST"と表示され
てしまいます。
改造に失敗しているのでしょうか?
燃えないゴミ系は3つあるので、別の物でも作って見ます。
ねむいさん、度々済みません。
ドライバの入替を行いました。名前は前のまま(STM....COM Port)ですが、
ドライバファイルは、windows¥system32¥drivers¥libusb0.sysと
windows¥system32¥libusb0.dllになっております。またデバイスマネジャー
でもlibusb-win32 devicesの配下にきておりますので、パソコン側はokだと
解釈しています。
後は、私の工作のレベルの低さとvsprogの概念(使い方)の知識不足なので、
自己努力していきます。
今回は色々と有り難うございましたm(_ _)m。
ねむいです。こんにちは。
そこまで行けたらあと少しだと思います。配線をよく見なおして頑張ってください!
私も今回のShujiさんとのやり取りで気が付いた部分を記事にフィードバックしておきました。
(バレたら多分アウチなんでしょうけどLibUSBのドライバとvsprog/vsgui
のバイナリも記事中にさりげなく公開しています。)
せっかくですのでこの機会にShujiさんもARM(Cortex-Mx)に乗り換えちゃいましょう!
ねむいさん、ごめんなさい。
先週の半ばに「はじめてのオシロ」を中古で入手したので、それのリファレンス
電圧試験器等を作っていたので、コメントまで見ていませんでしたm(__)m。
PDFですが、読めないです?なんで・・・Acrobat9.3とFoxitで見ましたが、
フォーマットエラーになってしまいます(涙;)。
と、思ってバイナリエディタでみたら・・・・判りました。
落とせました!!感謝多謝。
オシロ騒動?が落ち着いたら再度チャレンジしますので、しばし私の存在は
忘れて下さいm(__)m。
ねむいです。こんにちは。
良い結果が得られるよう期待しております!
忘れて下さいと言いながら書きます(汗;)。
一応、燃えないゴミのついた基板を2枚とLPCXpresso NXP LPC1768評価キット
を1枚、秋月に注文しました。
ので、撤退の意思はありません!
でも、「良い結果」を出せる自信は正直ありませんorz。
今月中に再着手をする予定です(オシロの次)。
Post a Comment