logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[STM32][Discovery] Programowanie zewnętrznego STMa

eXtremo 03 Lip 2011 19:47 10366 30
Najlepsze odpowiedzi LABEL_AI_GENERATED

Jak użyć płytki STM32 Discovery do programowania zewnętrznego STM32 przez SWD i usunąć błąd TARGET_CONNECT_ERR w TrueSTUDIO?

VDD_TARGET jest pinem pomiaru napięcia celu, a nie wyjściem zasilania; do zewnętrznego STM32 podłącz SWDIO, SWCLK i GND, wybierz tryb SWD zamiast JTAG, a w tej konfiguracji warto też podłączyć RESET do VDD_TARGET zgodnie z mapą złącza, bo bez tego debugger może nie ruszyć [#9679943][#9681526][#11327966] Jeśli TrueSTUDIO nadal zgłasza TARGET_CONNECT_ERR mimo poprawnego okablowania, w wątku rozwiązaniem było doinstalowanie ST Visual Programmer i restart komputera; inny użytkownik podał też, że wersja TrueSTUDIO 2.01 działała poprawnie, gdy 2.1 sprawiała problemy [#9683116][#9683924][#9744130][#9771647]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
  • #1 9678112
    eXtremo
    Poziom 9  
    Posty: 21
    Witam,

    Czy ktoś próbował użyć płytki Discovery STM32 do programowania innego STMa32? Discovery posiada SWD z pinami w kolejności:
    1. VDD_TARGET
    2. SWCLK
    3. GND
    4. SWDIO
    Mam też STM32 z wyprowadzonym gniazdem 2x5 SWD (kit AVT1809 http://sklep.avt.pl/photo/_pdf/AVT1609.pdf ). Podłączyłem GND, SWCLK pod 4 pin a SWDIO pod drugi, jak to wypatrzyłem na jakimś opisie nóżek tego gniazda 2x5 (no i oczywiście zasilanie 3V i GND). Czym jest VDD_TARGET to nie rozszyfrowałem.

    Próbuję coś zaprogramować przy użyciu TrueSTUDIO i o ile programowanie discovery działa bez problemu, to próba zaprogramowania tego drugiego STMa (oczywiście przy wyciągniętych zworkach z disco) kończy się najpierw błędem w konsoli: "Error in Initializing ST-Link device " a potem okienkiem
    Cytat:
    (TARGET_CONNECT_ERR) Please check cabling and power to target.

    tak jakby go w ogóle nie widział (dosłownie w sumie, bo takie same błędy są jak mam niepodłączony kabel do discovery :p).

    Any ideas? Bo spędziłem wczoraj cały dzień na szukaniu czegokolwiek na ten temat i nadal ten sam błąd...
  • REKLAMA
  • #2 9678284
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    a podłączyłeś zasilanie w układzie który programujesz ? Bo z tego co widze to nie :)
  • #3 9678290
    eXtremo
    Poziom 9  
    Posty: 21
    Przecież pisałem
    Cytat:
    .,.. (no i oczywiście zasilanie 3V i GND). ...

    LED zielony się świeci więc power jest...
  • #4 9678397
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    LED się świeci, w czym ? W monitorze ? Opisuj to trochę dokładniej. Napisałeś, że nie wiesz czym jest VDD target a piszesz też, że podłączyłeś zasilanie ? VDD target to zasilanie układu który programujesz. Jeżeli nie jest on zasilany osobno, to przez ten pin się do niego to zasilanie dostarcza.

    GND w tym 2x5 powinno być podłączone do pinów 3,5,7,9. SWDIO i SWCLK podłączyłeś ok. Nie wiem co z tym VDD_TARGET bo troche namieszałeś.
  • #5 9678663
    eXtremo
    Poziom 9  
    Posty: 21
    gaskoin: rzuciłem przecież PDFa kitu AVT ;) są tam dwa piny zasilania no i normalnie w świecie podłączyłem tam zasilanie 3V i GND, głupi nie jestem. I jest tam zielony LEDzik pokazujący że jest zasilanie. 3V i GND pociągnąłem z discovery (nie z VDD_TARGER), normalnie z pinów 3V i GND (numerki 1 i 3 na schemacie disco).

    Żeby już nie było żadnych nieścisłości :P
    http://www.kamami.pl/dl/stm32discovery_user_manual.pdf strona 13, piny: 1 - GND i 3 - 3V3 (dające 3V mierzone woltomierzem) podłączyłem pod http://sklep.avt.pl/photo/_pdf/AVT1609.pdf strona 2, schemat, input 1 i 2, co powoduje zapalenie LED1 :P Zasilam? Zasilam. Dzięki, że starasz się pomóc ale piszę, że zasilanie jest więc co się na tym tyle rozwodzić, nie jestem żółtodziobem, tylko nie mogę tego cholerstwa zaprogramować przez discovery...

    VDD_TARGET nie daje żadnego napięcia, sprawdzałem woltomierzem. Teoretycznie myślałem, żeby go podłączyć pod pin 1 tego gniazda, ale skoro nie daje on napięcia to po co podłączać (z resztą, z podłączonym i tak nie działa programowanie..)

    GND wszystkie 4 mam podłączyć w gniazdo? jeden nie starczy?
  • #6 9678744
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    Tam nie może być napięcia bo zgodnie z pdfem który mi wysyłasz:

    VDD_TARGET -> VDD from application


    One i tak są połączone wszystkie więc dla samego ruszenia debugu nie muszą być koniecznie podłączone (GND)

    Sorki, że mogłem tak Cię potraktować, ale błędy bardzo często leżą u podstaw i każdy je popełnia. Nawet stuletni programista/elektronik czasem coś popieprzy.

    Hmm jeszcze jedno, w dokumentacji jest napisane, że:

    It is very easy to use the ST-Link to program the STM32 on an external application. You simply remove the 2 jumpers from CN3 and connect your application to the CN2 debug connector (as shown in Figure 9 and according to Ta bl e 2.).

    Skoro mówisz, że zworki są zdjęte, to już nie mam pomysłów :)
  • REKLAMA
  • #7 9678806
    eXtremo
    Poziom 9  
    Posty: 21
    gaskoin napisał:
    Tam nie może być napięcia bo zgodnie z pdfem który mi wysyłasz:

    VDD_TARGET -> VDD from application

    No właśnie do tego samego wniosku doszedłem dlatego nie podłączam go.

    Cytat:
    One i tak są połączone wszystkie więc dla samego ruszenia debugu nie muszą być koniecznie podłączone (GND)

    jw

    Cytat:
    Sorki, że mogłem tak Cię potraktować, ale błędy bardzo często leżą u podstaw i każdy je popełnia. Nawet stuletni programista/elektronik czasem coś popieprzy.

    No wiesz po prostu jestem zirygowany bo cały dzień nad tym siedziałem i nadal bez rezultatów a google nie pomogło.

    Cytat:

    Hmm jeszcze jedno, w dokumentacji jest napisane, że:

    It is very easy to use the ST-Link to program the STM32 on an external application. You simply remove the 2 jumpers from CN3 and connect your application to the CN2 debug connector (as shown in Figure 9 and according to Ta bl e 2.).

    Taaa very easy, już właśnie mam przykład jak very easy :D

    Myślałem, że discovery posłuży mi jako tani i prosty zamiennik stosunkowo drogich programatorów dla stma, ale coraz czarniej to widzę. Mam wrażenie że coś po prostu pomijam, skoro truestudio mi zgłasza, że nie wie co programować, podczas gdy z założonymi zworkami nie ma żadnych problemów z programowaniem discovery. :\ Tylko, że nie wiem co pomijam bo nie ma w internecie jednoznacznego opisu i schematu jak to sparować i odpalić.
  • #8 9678868
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    być może należy podłączyć VDD_TARGET także do układu który się programuje ? Ze schematu Twoich płytek wynika, że jest tam rezystor 10k do masy, więc nic się nie powinno stać a może do SWD być wymagany.
  • REKLAMA
  • #9 9679742
    eXtremo
    Poziom 9  
    Posty: 21
    gaskoin: chodzi Ci o pin1 tego gniazda, czy jeszcze jakiś inny? Są tam trzy 3V dookoła STMa? Do któregoś z nich to podłączyć?
  • #10 9679943
    maalek
    Poziom 11  
    Posty: 20
    Pomógł: 4
    Nie posiadam Discovery więc nie jestem na 100% pewien ale w LPCExpresso (to ten sam interfejs - SWD) potrzebne są :

    SWDIO
    SWDCLK
    RESET
    GND
    VDD_TARGET

    Przy czym VDD_TARGET podłączamy przez rezystor 10K do zasilania układu docelowego (nie służy to do zasilania tego układu tylko w celu pomiaru napięcia układu docelowego).

    Oczywiście na Discovery musisz odłączyć układ docelowy który tam jest, nie wiem jak to Discovery się realizuje ale w LPCExpresso przecina się odpowiednie ścieżki i wstawia zworki pozwalające na tymczasowe odłączenie docelowego MCU obecnego na płytce.

    Przykładowy schemat z LPC1114 masz tu : http://www.microbuilder.eu/Images/Projects/lpc1114_refdesign_schematic.png
  • #11 9680731
    eXtremo
    Poziom 9  
    Posty: 21
    Kurcze no dalej nic :\ podłączylem Vdd_target pod 3V (10k już tam jest opornik)
    Cytat:
    Oczywiście na Discovery musisz odłączyć układ docelowy który tam jest
    Usuwa się zworki po prostu.

    Nadal ten sam błąd mam :(
  • #12 9681526
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    Właśnie dzisiaj to robiłem, podłączyłem STM32F103VE - fuka to bez żadnego problemu. Do programowania wystarcza SWDIO, SWCLK, masa, zakładając, że zewnętrzna płytka ma własne zasilanie. Jakie jest napięcie zasilania CPU na osobnej płytce? Próbowałeś może ST Visual Programmerem? Ach - jeszcze jedno, trzeba wybrać opcję SWD a nie JTAG.
  • #13 9681559
    eXtremo
    Poziom 9  
    Posty: 21
    victoriii: napięcie zasilania jest 2-3,6V ( http://www.kamami.pl/dl/stm32f103_x6_x8_xb.pdf )
    Póki co próbowałem programować tylko przez TrueStudio, ustawiam SWD bo tego też wymaga zaprogramowanie STMa na discovery.

    ST Visual Programmer? Nie słyszałem o tym. Możesz podrzucić link?
  • #14 9681963
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    No ok, ja wiem jaki jest zakres napięć zasilania procka, ale chodzi mi jakie jest konkretnie w tej płytce.
    1. Czy drugą płytkę programowałeś wcześniej przez JTAGa/SWD czy tylko przez bootloader?
    2. Czy piny JTAGa nie są czasem zremapowane?
    3. Zasilanie analogowe i cyfrowe podłączone?
    4. Zworki z CN3 w Discovery wyjęte?
    5. BTW widzę, że w Discovery ten VDD_TARGET to jest fake :/. Jest on przez 10k podłączony do masy. Czyli musisz sobie wyciągnąć z jakiegoś pinu Discovery 3.3V i podłączyć to do płytki AVT i powinno zadziałać. Nie wiem czy na tym właśnie się nie doktoryzowałem za pierwszym razem korzystając z ST-Linka jako programatora.
  • #15 9682169
    eXtremo
    Poziom 9  
    Posty: 21
    ad 1. Właśnie problem w tym, że tej płytki AVT jeszcze nie programowałem niczym innym
    ad 2. Co masz na myśli?
    ad 3. "Wszystkie linie zasilania mikrokontrolera oraz masy połączono tak, aby zasilić układ ze złącza zasilania INPUT." Podłączone jest 3V i GND ciągnięte z discovery
    ad 4. No oczywiście. Jakbym miał włożone, to bym zaprogramował discovery, z czym nie ma żadnych problemów, tak jak pisałem wcześniej.
    ad 5. Patrz pkt 3, zasilanie jest podciągnięte :\

    Ciekawe na czym ja się będę doktoryzował ;)
  • #16 9682290
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    1. Spróbuj może w takim razie ją zaprogramować bootloaderem przez RS-232. Pozwoli to upewnić się czy płytka sama z siebie działa poprawnie.
    2. Jeżeli uC jest dziewiczy to problemu z remapowaniem nie ma.
    Dodatkowo jeszcze sprawdziłbym poprawność montażu, czy nie ma zwarć i niedolutów.
  • #17 9682320
    eXtremo
    Poziom 9  
    Posty: 21
    No właśnie nie mam RSa...
  • #18 9682339
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    Zmontowanie RSa na MAX232 lub 3232 to jest w porywach pół godziny roboty. Jeżeli nie uda Ci się odpalić tego SWD to proponowałbym spróbować RSem.
  • #19 9682446
    eXtremo
    Poziom 9  
    Posty: 21
    Nie mam portu szeregowego na płycie głównej ;)
    Może w przyszłym tygodniu uda mi się dorwać kompa, który ma, ale póki co nie mam takiej możliwości.
  • #20 9682665
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    Ach, ja trochę z innych czasów jestem ;). Ale na przejściówce z USB też powinno zadziałać. Przy okazji polecam patent: biorę uszkodzoną przejściówkę, wywalam transceiver RS-232 i mam przejściówkę kompatybilną z poziomami LV-TTL (3.3V). Kilka razy już mi to zadziałało.
  • #21 9682679
    eXtremo
    Poziom 9  
    Posty: 21
    Ech.. ;) czemu to po prostu nie może działać ;) Nie wierzę, że nikt tego nie próbował robić
  • Pomocny post
    #22 9683116
    victoriii
    Poziom 19  
    Posty: 322
    Pomógł: 11
    Ocena: 43
    W tym jak ściągniesz i zainstalujesz masz ST Visual Programmer - obsługuje też STM32.
  • #23 9683924
    eXtremo
    Poziom 9  
    Posty: 21
    victoriii: [cut] :D przez st visual programmer się wgrało! zapaliłem leda na PINie więc śmiga ;] Dzięki!

    Teraz pytanie, czemu przez TrueStudio nie działa i czy da się zrobić by działało. Bo kompilowanie w TrueStudio, potem arm-none-eabi-objcopy żeby skonwertować elfa na hexa, potem otwarcie tego w STVP, wyczyszczenie pamięci i wgranie - to trochę czasochłonny proces..
    Moderowany przez _Robak_:


    Wulgaryzmy....

  • #24 9684198
    gaskoin
    Poziom 38  
    Posty: 4159
    Pomógł: 436
    Ocena: 102
    A nie da się bezpośrednio z elfa ?
  • REKLAMA
  • #25 9684201
    eXtremo
    Poziom 9  
    Posty: 21
    Mam do wyboru tylko hexa

    Dodano po 37 [minuty]:

    WTF działa mi teraz programowanie z TrueSTUDIO. Jakim cudem? Wszystko jest tak samo jak było...
  • #26 9743915
    Revenge
    Poziom 11  
    Posty: 32
    Ocena: 3
    Witam,

    Mam ten sam problem.

    Zakupiłem "STM32VLDISCOVERY", zainstalowałem "Atollic TrueSTUDIO"
    ale otrzymuje taki błąd.

    [STM32][Discovery] Programowanie zewnętrznego STMa

    Może ktoś wie, jak to naprawić i co powoduje ten błąd?

    Z góry dziękuję za pomoc !

    Pozdrawiam
  • #28 9746806
    Revenge
    Poziom 11  
    Posty: 32
    Ocena: 3
    Wygląda na to że działa, dziękuje.

    Pozdrawiam !
  • #29 9771647
    mł0dy
    Poziom 1  
    Posty: 1
    Też miałem ten sam problem. U mnie zainstalwoanie "ST Visual Programmer" nie pomogło.
    Wydaje mi się, że nowa wersja Atollic TrueSTUDIO (v2.1) ma jakieś błędy, bo po zainstalowaniu ver 2.01 wszystko działa jak należy.
  • #30 9853800
    Revenge
    Poziom 11  
    Posty: 32
    Ocena: 3
    Witam,

    Mógłby udostępnić ktoś Atollic TrueSTUDIOŸ/STM32 ver 2.01?

    Z góry dziękuję!

    Pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik pyta o możliwość programowania zewnętrznego mikrokontrolera STM32 za pomocą płytki Discovery STM32, wskazując na problemy z połączeniem i błędy w oprogramowaniu TrueSTUDIO. W odpowiedziach podkreślono znaczenie poprawnego podłączenia pinów SWD, w tym VDD_TARGET, oraz konieczność zasilania układu docelowego. Użytkownicy sugerują również użycie ST Visual Programmer jako alternatywy do TrueSTUDIO, co ostatecznie przynosi sukces w programowaniu. Problemy z programowaniem mogą wynikać z błędów w konfiguracji lub wersji oprogramowania.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA