ST-Linkプログラマーを非STチップに使用できますか?


12

ST-Linkであらゆる種類のSWDプログラマブルチップ(ARM-MCU)をプログラムできますか?


「ST-LINK / V2は、STM8およびSTM32マイクロコントローラーファミリー向けのインサーキットデバッガーおよびプログラマーです。」すぐにできるとは思いませんが、理論的には達成できるはずです。ここではLPC MCUに接続するために管理誰か:lpcware.com/content/forum/...
ふわふわ

1
おそらく、STソフトウェアではなくopenocdのようなものを使用する場合があります。問題が発生した場合は、オープンソースのCMSIS-DAP実装があり、それにフラッシュすることができます。これは、ホストソフトウェアを細部をより細かく制御できるようにすることで、より一般的なものになります。
Chris Stratton、2016

これはあなたが尋ねたものではありませんが、PEマイクロデバッガーなど、複数のターゲットをカバーするデバッガーもあります。
mkeith

2
STリンクを使用してlpc1549をプログラムします。
user2425240 2017

回答:


6

st-linkをフラッシュして、Black Magic Probeに変換することもできます。同じ画像で青い錠剤もBMPに変換されます。

私は両方をやった。ブルーピルには、BMPエクスポートのusb-rs232ブリッジが簡単に利用できるという利点があります。

:BMPは、これらに限定され、それだけではないために、チップの範囲をサポートする
STマイクロエレクトロニクスSTM32F0、STM32F1、STM32F3、STM32F2、STM32F4、STM32F7、STM32L0、STM32L1、STM32L4
アトメルSAM3N、SAM3X、SAM3S、SAM3U、SAM4S、SAM4L、SAM D20、D21
Nordic nRF51、nRF52(これらは私がBMPを使用する理由です)

BMPはオープンソースであり、商用プログラミングに使用でき、ハードウェアは安価です(「実際の」BMPは約60ドルで、amazonの青い錠剤5パックは20ドル未満で出荷されていました)。


4

既存の回答に追加するには、一部のチップは、ST-LINKおよびOpenOCDで正しく動作しないことがわかってます。

特に、ターゲットがMCUのAtmel SAMD21ファミリーからのものである場合、奇妙な問題に遭遇する可能性が高く、プロセッサーが検出されますが、フラッシュセクターを消去しようとするとエラーで失敗します。

その理由は、引用するにはかなり複雑です:

私の知る限り、問題はNVMCTRL-> CTRLAレジスタへのハーフワード(16ビット)書き込みです。STLinkはハーフワードメモリアクセスを実装しておらず、OpenOCDは2バイト操作としてエミュレートします。残念ながら、CTRLAレジスタはキーとコマンドで構成されており、アトミックに書き込む必要があります。STLinkが2バイトを書き込む場合、NVMコントローラーはステータスにPROGEビットを設定します:「無効なコマンドまたは不正なキーワード、あるいはその両方がNVMコマンドレジスタに書き込まれた/書き込まれた」

回避策には、OpenOCDをコードパッチで再コンパイルすることが含まれます。楽しくない。

ただし、ST-Linkを(別のST-Linkを介して)フラッシュしてもかまわない場合は、それをCMSIS-DAPアダプター変換できます。これは、SAMDで正常に機能し、STM32およびその他のCortex-Mでも機能するはずです。チップ。


1

はい、これは可能だと思いますが、試したことはありません。ST以外のデバイスをプログラミングしようとした場合、STライセンス契約に違反する可能性があります。

例として、Segger(デバッガーとプログラマーのマーケットリーダーの1つ)は、ST-LinkをJ-linkに変換することをサポートします(ST-LinkチップをSeggerコードで本質的に上書きします)。これは可逆的であるため、ST-linkデバイスを元の形式に復元したい場合は、これを行うことができます。

ただし、ST-Linkにはいくつかのバージョンがあります。詳細とこれを行う方法のガイドを提供する次のリンクをご覧ください。

https://www.segger.com/jlink-st-link.html
https://www.segger.com/jlink-ob.html


1
私は主要なcortex-mブランドのほとんどでヌクレオとディスカバリーボードでstlinkヘッダーを使用しています...そして、それを機能させることができなかったものは、openocdがstlinkではなく設定される問題でした。
old_timer 2017

1
ST-LinkをJ-Linkにフラッシュすることは、NucleoまたはDiscoveryボードのいずれかでのみ機能し、合法であり、ターゲットMCUでのみ使用できます。Seggarのライセンス条項を読んでください。これらはかなり制限されています。私の知る限り、SeggarフラッシャーはスタンドアロンのST-Linkでも機能しません。
GB-AE7OO 2019年

1

はい、可能です。Coocox IDEでstlink v2(オリジナル、および中国のUSBスティックタイプのクローン)を使用しています。- Coocoxは、スタンドアロンプログラマアプリ持つCoFlash、チップの多くをプログラムするために使用することができます。SWDインターフェイスを介したLPC176xとLPC175xの2つのシリーズでのみ経験があります。そして、私はそれらのチップで何の問題もありません。また、プログラマーのために特定の変更や更新を行っていません(ただし、元のstリンクでTVCC(PIN1)に高電圧レベルが必要だった場合を除き、それ以外の場合は、チップをプログラムすることができなかったため、19番ピン(3.3vcc)に直接接続しました) stlink v2のピン1に)。


0

最新のファームウェアを搭載したSTLink V2 / V2.1またはV3は、PCがホストするBlackmagic pc-stlinkv2プラットフォームでも使用できます。「make PROBE_HOST = pc-stlinkv2」でコンパイルし、「blackmagic_stlinkv2」でデバッグサーバーを起動し、gdbで:2000に接続するか、「blackmagic_stlinkv2」でバイナリを直接ロードします。これは、BMPが認識しているすべてのターゲットで機能します。ただし、V3はST以外のターゲットでの作業を積極的に拒否し、V2は気にしません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.