ST-Link V2 (STM8/STM32) programozó-debugger

(2 vásárlói értékelés)

2.150Ft (1.693Ft+ÁFA)

ST-Link V2 kompakt STM8/STM32 programozó-debugger közvetlen USB-A csatlakozással. STM32 mikrovezérlőknél SWD, STM8 családnál SWIM interfészt használ firmware feltöltéshez és hibakereséshez. STM32 fejlesztésnél töréspontokkal, léptetéssel, változó- és regisztervizsgálattal is használható megfelelő fejlesztőkörnyezetben. 

17 készleten

Cikkszám: T66266 Kategória: Márka:
Cikkszám: T66266

Leírás

Ott van az asztalon a frissen összerakott STM32 panel. Tápot kap, a program még sehol, USB bootloader pedig nincs rajta. Ilyenkor kerül elő az ST-Link V2 (STM8/STM32) programozó-debugger: USB-n kapcsolódik a számítógéphez, a mikrokontroller felé pedig STM32 esetén SWD, STM8 esetén SWIM interfészen dolgozik.

STM32-nél a használata jóval többről szólhat egy .hex vagy .bin fájl feltöltésénél. Megfelelő fejlesztőkörnyezetből megállítható a program egy töréspontnál, lépésenként végig lehet menni a kódon, közben pedig nézhetők a változók, regiszterek és memóriaértékek. Amikor egy program “valahol itt romlik el”, ez sokkal többet mond, mint néhány soros kiírás.

A kompakt fémház egyik végén közvetlen USB-A csatlakozó van, a célpanel felőli jelek pedig a házon jelölve találhatók. A csomaghoz 4 eres anya-anya szalagkábel tartozik, így például tüskesoros fejlesztőpanelekhez rögtön használható.

A 12 Mbit/s adat az USB Full-Speed kapcsolat névleges sebessége. A tényleges programfeltöltés tempóját emellett az SWD vagy SWIM kapcsolat, a cél-mikrokontroller és annak Flash memóriája is meghatározza.

Mire használjuk a műhelyasztalon?

Egy BluePill jó példa. Elkészült a program STM32CubeIDE-ben vagy más fejlesztőkörnyezetben, most pedig fel kell tölteni az STM32F103-ra. A panel SWDIO pontja megy az SWDIO-ra, az SWCLK az SWCLK-ra, a föld pedig a GND-re.

Itt az azonos nevű jeleket kötjük össze. Ez elsőre apróságnak tűnik, de UART után könnyű reflexből keresztbekötésben gondolkodni. SWD-nél SWDIO-SWDIO és SWCLK-SWCLK a helyes irány.

A célpanelnek közben stabil tápellátás kell. Saját tápról működő panelnél a programozó és a céláramkör földjét közösíteni kell, különben az SWD jeleknek nincs közös referenciafeszültségük.

Ha a kapcsolat felépült, ugyanazon a néhány vezetéken lehet firmware-t írni és hibát keresni. Nem kell külön soros bootloader csak azért, hogy új program kerüljön a Flash memóriába.

Programfeltöltés és debug – ugyanaz a kábel, más munka

Programozáskor a cél egyszerű: elkészült a firmware, kerüljön be a mikrokontroller Flash memóriájába. Ez lehet fejlesztés közbeni feltöltés, kész .hex vagy .bin fájl beírása, illetve egy már összeállított panel felprogramozása.

Debugnál ennél mélyebbre lehet menni. Tegyél például töréspontot arra a sorra, ahol egy állapotgépnek át kellene váltania. Amikor a processzor odaér, megállítható a futás, megnézhető egy változó tartalma, majd soronként tovább lehet lépni.

Ez időzítési hibánál, rossz perifériabeállításnál vagy egy váratlan programágnál sokszor gyorsabban elvezet a hibához, mint amikor újabb és újabb printf() sorokat rakunk a programba.

STM8-nál ugyanez a programozó SWIM interfészt használ. A kapcsolat és a fejlesztői eszközök mások, ezért STM8 bekötésnél mindig a SWIM jelöléseket kell követni.

Első STM32 bekötés

A legegyszerűbb SWD összeállításnál a következő jeleket keresd a panelen:

  • SWDIO;
  • SWCLK;
  • GND;
  • a célpanel megfelelő tápellátása.

A programozó házán lévő jelöléseket érdemes közvetlenül leolvasni. A kábelek színe helyett mindig a felirat legyen a támpont, mert a különböző szalagkábeleknél nincs olyan színkód, amelyre biztosan lehetne építeni.

Ha saját NYÁK készül, már a tervezéskor célszerű kivezetni legalább az SWDIO, SWCLK és GND pontokat. Egy kis tüskesor vagy tesztpont később rengeteg időt spórol, főleg akkor, amikor a firmware még nincs kész.

Normál SWD programozásnál a debug interfész felől érjük el az STM32-t. Emiatt a BOOT0 állítgatása a szokásos ST-Linkes feltöltésnek nem központi része.

“No STM32 target found” – itt érdemes végigmenni a láncon

Ez az a hibaüzenet, amellyel előbb-utóbb szinte minden STM32-as asztalon találkozunk. Ilyenkor célszerű sorrendben haladni.

Először nézd meg, hogy a célpanel valóban kap-e tápot. Utána jöhet a közös GND, majd az SWDIO és SWCLK vezeték. Ha valamelyik vezeték egy sorral arrébb került a tüskesoron, a programozó USB oldala még tökéletesen működhet, miközben a célprocesszort egyáltalán nem látja.

A következő lépés a debug órajel csökkentése lehet. Hosszabb vezeték, zajos próbapad vagy lassabb célrendszer mellett egy kisebb SWD frekvencia sokszor stabilabb kapcsolatot ad.

Olyan firmware esetén, amely indulás után gyorsan átállítja a debug lábakat vagy problémás állapotba viszi a processzort, a reset alatti kapcsolódás is hasznos lehet, amennyiben a használt programozókivitel és a bekötés kezeli az NRST jelet.

A célpanel tápját külön kezeld

A kompakt ST-Link változatokon gyakran található tápfeszültséghez kapcsolódó kivezetés, de a T66266 biztos kimeneti terhelhetősége nincs megadva.

Egy LED-del és mikrokontrollerrel szerelt apró próbapanel fogyasztása és egy kijelzőt, relét vagy rádiós modult is hajtó fejlesztőpanel terhelése teljesen más nagyságrend lehet. Műhelyben ezért tisztább megoldás, ha a célpanel megkapja a saját, megfelelően méretezett tápját, az ST-Link pedig a programozási és debug kapcsolatot végzi.

Saját tápos célpanelnél a GND-k közösítése továbbra is szükséges az SWD jelátvitelhez.

Hol nélkülözhetetlen?

  • BluePill STM32F103 fejlesztőpanel programozásánál.
  • Saját tervezésű STM32 panel első firmware-ének feltöltésénél.
  • STM32 program futásának töréspontos hibakeresésénél.
  • Regiszterek és változók vizsgálatánál fejlesztés közben.
  • Bootloader nélküli STM32 céláramkör programozásánál.
  • STM8 mikrovezérlők SWIM programozásánál.
  • Olyan beágyazott projektben, ahol soros kiírás mellett mélyebb hibakeresésre is szükség van.

Mire kell figyelni beüzemeléskor?

Mire figyelj?Mit okoz?
Kap tápot a cél-mikrokontroller?Táp nélkül az ST-Link USB oldala működhet, a célprocesszor mégsem jelenik meg.
Közös a GND?Közös referencia nélkül az SWD jelek nem értelmezhetők megbízhatóan.
SWDIO az SWDIO-ra került?Az adatvonal hibás bekötésénél nem épül fel a kapcsolat.
SWCLK az SWCLK-ra került?Az órajel hibás bekötése ugyanúgy “target not found” hibához vezethet.
Túl magas az SWD órajel?Hosszabb vagy zajos bekötésnél kisebb debug frekvencia stabilabb lehet.
STM8-at programozol?STM8 esetén SWIM kapcsolatot kell használni az STM32-es SWD helyett.
A programozóról táplálnád az egész panelt?A T66266 táp-kimenetének biztos terhelhetősége nincs megadva.

USB 12 Mbit/s – mit jelent használat közben?

A programozó USB 2.0 Full-Speed eszközként legfeljebb 12 Mbit/s névleges USB adatsebességet használ. Ettől egy 256 kB-os Flash tartalom feltöltése nem válik automatikusan 12 Mbit/s sebességű műveletté. A PC és a programozó közötti USB csak az egyik szakasz. Ezután jön az SWD vagy SWIM kapcsolat, majd maga a Flash törlése és írása a célprocesszorban. Fejlesztés közben ezért sokkal fontosabb a stabil kapcsolat, mint maga a 12 Mbit/s adat. Egy bizonytalan próbapadi SWD bekötésnél inkább vegyél vissza a debug órajelből.

STM8 esetén másik ajtón megyünk be

STM32 oldalon SWD-ről beszélünk, STM8-nál SWIM-ről. Ez a programozó mindkét családhoz használható, a vezetékeket viszont az adott interfész szerint kell bekötni. STM8-nál a SWIM adatvonal, GND és a céláramkör megfelelő jelei számítanak. A régebbi STM8 fejlesztési környezetek között az STVD és STVP is használ ST-Link kapcsolatot, illetve IAR környezetből is végezhető fejlesztés és hibakeresés.

Szoftveroldalon mire számíts?

A programozóhoz biztosan megadott környezetek között szerepel az ST-LINK Utility 2.0 vagy újabb, STVD 2 vagy újabb, STVP 3.2.3 vagy újabb, IAR EWARM 6.20 vagy újabb, IAR EWSTM8 1.30 vagy újabb és Keil RVMDK 4.21 vagy újabb.

Mai STM32 fejlesztésnél a STM32CubeIDE és STM32CubeProgrammer a kézenfekvő ST eszközlánc. Az ST-LINK/V2 mint platform támogatott ezekben, a kompakt V2-kompatibilis programozók belső firmware-e viszont gyártási sorozatonként eltérhet. Emiatt a legfrissebb CubeProgrammerrel való biztos együttműködést ennél a konkrét kompakt változatnál nem érdemes automatikusnak venni.

Ha a számítógép USB-n már látja a programozót, de a fejlesztőkörnyezet nem, az USB-driver és a programozó firmware-kompatibilitása külön hibakeresési pont. Ha maga az ST-Link megjelenik, de a célprocesszor hiányzik, akkor már az SWD bekötés, tápellátás és debug beállítás felé érdemes továbbmenni.

Amikor más programozó kell

  • Dokumentált JTAG csatlakozást igénylő célhardverhez olyan debugger szükséges, amelynél a teljes JTAG kivezetés biztosan rendelkezésre áll.
  • Újabb STM32 családok rendszeres fejlesztéséhez és nagyobb debug sebességhez egy aktuális STLINK-V3 eszköz kényelmesebb alap.
  • Elektromosan lebegő vagy veszélyes potenciálon lévő céláramkörhöz galvanikusan leválasztott debug interfészt kell használni.
  • Nagy sorozatú gyártási programozáshoz olyan eszköz célszerű, amelynek firmware-verziója, sorozatszáma és szoftvertámogatása gyártási környezetre dokumentált.
  • Olyan munkához, ahol SWO trace vagy speciális debug funkció kötelező, ezek támogatását külön igazolt debuggerrel érdemes megoldani.

Műhelytipp

Ha saját STM32 panel készül, az SWD pontokat már a NYÁK tervezésekor tedd könnyen elérhető helyre. SWDIO, SWCLK és GND három apró tesztpontként is elfér, mégis sokkal kényelmesebb lesz az első életre keltés.

Az első programozást érdemes egyszerű firmware-rel kezdeni. Egy villogó LED vagy egy könnyen ellenőrizhető GPIO már megmutatja, hogy a táp, az órajel, a programozás és a processzor alapvetően működik.

Ha ez rendben van, utána jöhet a nagyobb alkalmazás és a debugger. Így amikor később megáll a program, már nem egyszerre kell a NYÁK hibáját, az ST-Link bekötést és a teljes firmware-t keresni.

Műszaki jellemzők

JellemzőÉrték
Terméktípus:kompakt STM8/STM32 programozó-debugger
Kompatibilitási család:ST-Link V2
STM32 interfész:SWD
STM8 interfész:SWIM
STM32 funkció:programozás és hibakeresés
STM8 funkció:programozás és hibakeresés
PC csatlakozó:USB-A, közvetlen
USB interfész:USB 2.0 Full-Speed
USB névleges maximális sebesség:12 Mbit/s
Firmware frissítés:belső frissítési lehetőség megadva, konkrét firmware-kompatibilitás az ST-Link szoftverben
Operációs rendszerek:Windows / Linux / macOS támogatás
Működési hőmérséklet:-40…+85 °C

Támogatott szoftverek

  • ST – LINK Utility 2.0 és újabb
  • STVD 2 és újabb
  • STVP 3.2.3 és újabb
  • IAR EWARM V6.20 és újabb
  • IAR EWSTM8 V1.30 és újabb
  • KEIL RVMDK V4.21 és újabb

Dokumentáció

Csomag

  • 1 db ST-Link V2 (STM8/STM32) programozó-debugger
  • 1 db 4 eres anya-anya szalagkábel

További információk

Tömeg0,018 kg
Méretek6 × 2 × 1 cm
CikkszámT66266


Bővített forgalmazói/gyártói információk (EU 2023/988 rendelet alapján):
   Gyártó/első EU forgalmazó: TavIR / Cseh Róbert ev.
   Elérhetőség: 1181, Budapest, Szélmalom utca 13.
   Elektronikus cím: https://shop.tavir.hu
   Kapcsolatfelvétel: a Kapcsolat oldalon keresztül.

ST-Link V2 (STM8/STM32) programozó-debugger termékről 2 értékelés

  1. villanyos –

    A ST-Link firmware-t NE UPDATE-eld!
    Nagyon jól működik a régi firmware-rrel.

  2. Németh Krisztián –

    Az eszköz tökéletesen működik.

Mondd el a véleményed

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Gyakran ismételt kérdések az ST-Link V2 STM8/STM32 programozó-debuggerről

Mi a különbség a programozás és a hibakeresés között?

Programozáskor a firmware bekerül a mikrokontroller Flash memóriájába. Debug módban megfelelő fejlesztőkörnyezetből töréspontokat állíthatsz be, léptetheted a programot, és futás közben vizsgálhatod a változókat vagy regisztereket.

Hogyan kell STM32-höz bekötni az ST-Linket?

SWD kapcsolatnál az SWDIO az SWDIO pontra, az SWCLK az SWCLK pontra, a GND pedig a célpanel GND pontjára kerül. Saját tápról működő célpanelnél is szükséges a közös föld.

Használható STM32 BluePill programozására?

Igen, a BluePill STM32F103 SWD interfésszel programozható és hibakereshető. A panel SWDIO, SWCLK és GND pontjai adják az alap kapcsolatot.

Kell állítgatni a BOOT0 jumpert ST-Linkes programozásnál?

A szokásos SWD programozás a debug interfészen keresztül éri el az STM32-t, ezért a BOOT0 nem része a normál feltöltési folyamatnak. Kapcsolódási problémánál inkább a tápot, GND-t, SWDIO-t és SWCLK-t érdemes először ellenőrizni.

Mit nézzek meg „No STM32 target found” hiba esetén?

Kezdd a célpanel tápellátásával és a közös GND-vel, majd ellenőrizd az SWDIO és SWCLK vezetékeket. Hosszabb vagy zajos bekötésnél kisebb SWD órajel is segíthet, problémás firmware esetén pedig reset alatti kapcsolódás lehet hasznos.

Táplálhatom az egész fejlesztőpanelt az ST-Linkről?

A T66266 táp-kimenetének biztos terhelhetősége nincs megadva. Műhelyben biztonságosabb kiindulás a célpanel saját, megfelelően méretezett tápja, közös GND kapcsolattal.

Mit jelent a 12 Mbit/s sebesség?

Ez az USB Full-Speed kapcsolat névleges felső adatsebessége a számítógép és a programozó között. A tényleges firmware-feltöltési sebességet az SWD vagy SWIM kapcsolat és a cél-mikrokontroller Flash műveletei is befolyásolják.

STM8 mikrovezérlőhöz is ugyanaz az SWD bekötés kell?

STM8 esetén SWIM interfészt használ a programozó. A bekötést ezért az STM8 SWIM jelei szerint kell elkészíteni, nem az STM32 SWD kiosztás másolásával.

Használható STM32CubeProgrammerrel?

Az STM32CubeProgrammer általánosan támogatja az ST-LINK/V2 eszközöket. A kompakt V2-kompatibilis programozók firmware-e eltérhet, ezért a T66266 minden hardver- és firmware-változatára a legfrissebb CubeProgrammer-kompatibilitás nem adható meg biztosan.

Frissítsem az ST-Link firmware-ét?

A konkrét kompakt programozó belső hardverének és firmware-ének pontos revíziója nincs megadva. Egy működő kompatibilis programozónál a firmware-frissítést ezért csak akkor érdemes elvégezni, ha a használt hardverhez megfelelő frissítési út biztosan ismert.

Használható teljes JTAG kapcsolathoz?

A gyári ST-LINK/V2 platform támogat JTAG-ot, de a T66266 kompakt kivitel teljes JTAG-kivezetése nincs biztosan igazolva. JTAG-ot igénylő célhardverhez dokumentált JTAG csatlakozású debugger célszerű.

Mi kell hozzá, ha a számítógépen csak USB-C csatlakozó van?

A programozó közvetlen USB-A dugóval készül. USB-C-only notebooknál adatátvitelre alkalmas USB-C - USB-A adapter vagy hub szükséges.