Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

Podłaczenie programatora do ARMa

Marek_Gorecki 10 Sty 2017 20:20
  • #1 10 Sty 2017 20:20
    Marek_Gorecki
    Poziom 16  

    Witam,
    Udało mi się uruchomić mały program Hello Word na płytce Nucleo.
    Teraz postanowiłem zrobić sobie własną płytkę z procesorem ARma do celów dydaktycznych.
    W opisach do płytki Nucleo wielokrotnie pisze się, że można odłamać cześć płytki i wykorzystać ją jako programator.
    Tak też chcę zrobić.
    Ale mam pytanie - ile i które nogi mam z procesora wyprowadzić aby podłączyć ten programator?
    Czy będzie też pasować inny programator np STLInk?
    I jeszcze jedno - jakie gniazdo polecacie zastosować do programtora na płytce.
    Zależy mi, aby było małe.

  • Pomocny post
    #2 10 Sty 2017 21:00
    grko
    Poziom 30  

    @Marek_Gorecki Nie musisz wcale odłamywać ST-linka aby programować/debugować zewnętrzne układy. Wystarczy przestawić zworki na ST-Linku. ST-Link na Nucleo korzysta z interfejsu SWD. W zasadzie wystarczy podłączenie 2 pinów aby to działało (SWDIO oraz SWCLK).

  • Pomocny post
    #3 10 Sty 2017 21:02
    tronics
    Poziom 34  

    W nucleo JEST st-link v2 (lub 2-1) funkcjonalnie ;)
    Które wyprowadzenia? To nota katalogowa wskazuje. Interfejs SWD.

  • Pomocny post
    #4 10 Sty 2017 21:07
    Piotrus_999
    Poziom 38  

    grko napisał:
    Nie musisz wcale odłamywać ST-linka aby programować
    A wręcz bym ci to odradzał bo się pozbawisz zegara zewnętrznego (bypass). Co prawda później niby można kabelkami do nucleo podłączyć ale to już nie ta sama wygoda

  • #5 10 Sty 2017 21:29
    grko
    Poziom 30  

    @Piotrus_999 Mnie byś to odradzał czy autorowi? Jeżeli autorowi to cytuj jego wypowiedzi a nie moje. Bo ja nie zachęcam do odłamywania ST-Linka od reszty PCB.

  • #6 10 Sty 2017 21:35
    Piotrus_999
    Poziom 38  

    grko napisał:
    @Piotrus_999 Mnie byś to odradzał czy autorowi?

    Po prostu potwierdziłem Twoje słowa (baz żadnych niecnych intencji). Dlatego zacytowałem Ciebie. Kiedyś w zapale odłamałem jedno nucleo i leży teraz nieużywane bo nie chce mi się "kabelkować".

  • #7 10 Sty 2017 22:54
    Marek_Gorecki
    Poziom 16  

    grko napisał:
    @Marek_Gorecki Nie musisz wcale odłamywać ST-linka aby programować/debugować zewnętrzne układy. Wystarczy przestawić zworki na ST-Linku. ST-Link na Nucleo korzysta z interfejsu SWD. W zasadzie wystarczy podłączenie 2 pinów aby to działało (SWDIO oraz SWCLK).


    A czy trzeba też podłączyć Reset?

  • Pomocny post
    #8 10 Sty 2017 23:54
    BlueDraco
    Specjalista - Mikrokontrolery

    Nie trzeba, o ile będziesz pamiętał, żeby w programie nie wyłączyć funkcji SWD na nogach PA13 i PA14 - uważaj na rejestry GPIOA: MODER, OSPEEDR i PUPDR, a jeśli używasz CubeMX - zaznacz koniecznie SYS-SWD Debug w konfiguracji.

    Pamiętaj też, żeby linia BOOT0 była przy starcie ściągięta do masy - bezpośrednio lub przez rezystor, a jeśli jest to również linia portu - przez cokolwiek, co do tego portu jest podłączone - np. tranzystor npn sterujący czymśtam.

  • #9 11 Sty 2017 08:51
    Marek_Gorecki
    Poziom 16  

    Czy dobrze rozumuje.
    Podłaczę zatem wejście BOOT do masy na stałe .
    Do wejść PA13 i PA14 mam podłączyć programator.
    Znalazłem w dokumentacji, że PA13 to SWDIO, a PA14 to SWCLK.
    Zrobię wyjście do programatora na 3 piny:
    1) Masa
    2) SWDIO
    3) SWCLK

    Czy jest OK?

    I jeszcze jedno pytanie: Czemu w pdfie od procesora wszystkie wejścia od PORTA są narysowane w ciemnym kolorze?

  • Pomocny post
    #10 11 Sty 2017 09:09
    BlueDraco
    Specjalista - Mikrokontrolery

    Niby ok, ale pamiętaj o zasilaniu. Jeżeli masz małą i prostą płytkę, wygodnie jest podczas prób zasilać ją z ST-Link - dlatego warto mieć 4 linie: Vdd, SWDIO, SWCLK i GND.

    O kolorach nic nie wiem - jakaś fantazja grafika. W poszczególnych modelach uC poszczególne linie PA, PB i PC różnią się elektrycznie, ale graficznie ST tego nijak nie oznacza - trzeba kopać w datasheet.

  • #11 11 Sty 2017 09:32
    Marek_Gorecki
    Poziom 16  

    Dziekuj @BlueDraco dam wtyk 4 pinowy z zasilaniem.
    Może to pytanie będzie głupie, ale czy dobrze rozumiem że każdy procesor ARM można programować zarówno poprzez STlinka (wykorzystując linie SWCLK i SWDIO) jak i przez UART korzystając z przejściówki ? Czy dobrze myślę?
    Jeżeli chcę w tym projekcie do nauki zrobić wyjście UART to czy będę mógł tą drogą programować także? I jeszcze jedno - jeśli są dwa UARTY, to możliwość programowania ma zapewne tylko UART0 . Dobrze myśle?

  • #12 11 Sty 2017 10:12
    BlueDraco
    Specjalista - Mikrokontrolery

    Nie każdy. Każdy da się programować przez SWD, ale interfejsy poszczególnych producentów komunikują się na ogół tylko z własnymi układami - ST-Linkiem Kinetisa nie zaprogramujesz. Interfejsem nie-producenckim, np. J-linkiem, zaprogramujesz każdy uC, ale za te interfejsy na ogół płacisz, chyba, że jest to jakiś otwarty, obsługujący Open OCD.

    Bootloadery są dostępne w wielu, ale nie we wszystkich uC. We wszystkich STM32 bootloader dział przez UART, w niektórych również przez inne interfejsy, w tym przez USB, ale nie wszystkie uC z USB mają bootloader USB. Ogólnie najłatwiej programuje się przez SWD.

  • #13 11 Sty 2017 11:24
    Piotrus_999
    Poziom 38  

    BlueDraco napisał:
    Ogólnie najłatwiej programuje się przez SWD.
    I do tego się debuguje jeszcze.
    Marek_Gorecki napisał:
    w tym projekcie do nauki zrobić wyjście UART to czy będę mógł tą drogą programować także?
    zależnie od procesora poprzez I2C, SPI i CAN pewnie też. Edukacyjnie wyprowadź wszystkie.

    Moim skromnym zdaniem robienie swojej płytki do prób mija się z celem. Lepiej użyć gotowego Nucleo Discovery

  • #14 11 Sty 2017 13:45
    Marek_Gorecki
    Poziom 16  

    A jeśli można zapytać - po co jest to wejście BOOT0 ? Widzę że ma to wejście prawie każdy procek STM.
    Czy wejście Reset można pozostawić wolne, czy lepiej dać rezystor podciągający 10k z kondensatorem 100n jak dawało sie w AVR?

  • #15 11 Sty 2017 13:55
    Piotrus_999
    Poziom 38  

    Kolego - tu trzeba czytac dokumentacje np: http://www.st.com/content/ccc/resource/techni...df/jcr:content/translations/en.DM00115714.pdf

    Kolega by chciał na lenia ......

  • Pomocny post
    #16 11 Sty 2017 17:11
    BlueDraco
    Specjalista - Mikrokontrolery

    Reset zostawić luzem - w środku jest kompletny układ resetujący.

  • #17 11 Sty 2017 21:29
    Marek_Gorecki
    Poziom 16  

    Dziekuję BlueDraco.
    Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci.
    Czyli w takiej amatorskiej edukacyjnej płytce, moge ją zewrzeć na stałe do masy?

  • #18 11 Sty 2017 22:06
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Marek_Gorecki napisał:
    Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci.

    To źle wnioskujesz. Przeszukaj po prostu pod tym kątem Reference Manuala i datasheet układu który wybrałeś.

  • #19 12 Sty 2017 00:41
    Piotrus_999
    Poziom 38  

    Marek_Gorecki napisał:
    Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci.
    Kup gotowa plytke

  • #20 12 Sty 2017 10:07
    Marek_Gorecki
    Poziom 16  

    Piotrus_999 napisał:
    Marek_Gorecki napisał:
    Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci.
    Kup gotowa plytke


    Kupiłem gotową płytkę i właśnie to wejście ma jumper. Można zewrzec je do masy , lub nie.
    Zdecydowałem się na procesor STM32L051C8T6.
    W dokumentacji na temat BOOT jest napisane to:
    At startup, BOOT0 pin and nBOOT1 option bit are used to select one of three boot options:

    Boot from Flash memory
    Boot from System memory
    Boot from embedded RAM

    The boot loader is located in System memory.
    It is used to reprogram the Flash memory by
    using SPI1(PA4, PA5, PA6, PA7
    ) or SPI2 (PB12, PB13, PB
    14, PB15), USART1(PA9,
    PA10) or USART2(PA2, PA3). See STM32™ mi
    crocontroller system memory boot mode
    AN2606 for details.

    Jeżeli chcę używać wewnętrznego Bootloadera to mam zewrzeć to wejscie da masy?

  • #21 12 Sty 2017 10:24
    Piotrus_999
    Poziom 38  

    Napisz jaka to płytka? Pozatem nie poderzewam abyś na początku zamierzał bootować z RAM. Boot0 do masy

  • Pomocny post
    #23 12 Sty 2017 17:17
    Piotrus_999
    Poziom 38  

    I zapłaciłeś za to coś tyle kasy? Bez debuggera nawet? To już trzeba było sobie F103 z chin za 2 dolary jak to Cię zadowala.

    http://pl.farnell.com/stmicroelectronics/nucl...3BNtpr%3D1&searchView=table&iscrfnonsku=false za połowę ceny

    Teraz dokup sobie do płytki st-link-a bo gwarantuję Ci że będzie bardzo potrzebny

    A tu masz pełniejszą listę płytek stm-a. Jak tme pozwala to bym zwrócił. Bo za taką płytkę to rozbój w biały dzień

  • #24 12 Sty 2017 17:42
    Marek_Gorecki
    Poziom 16  

    Masz rację, ale z doświadczenia wiem, ze trzeba zapłacić frycowe.
    Ale jest coś gorszego - otóż odradzam ten moduł wszystkim.
    Tam gdzie go kupowałem był na zdjęciu polutowany, a po rozpakowaniu okazuje się, że nawet goldpiny nie są polutowane, a cyna na płytce wygląda tak (brudna i utleniona) , że może być problem aby to zrobić.
    Kupiłem konkretnie ten, bo zalezało mi właśnie na tym procesorze, oraz to, że układ ten pasuje do moich potrzeb.
    Nie potrzebuję wodotrysków ale niemal goły procek.
    STlinka chcę użyć z Nucleo - mam nadzieję że zadziała.

  • #25 12 Sty 2017 17:44
    Piotrus_999
    Poziom 38  

    Marek_Gorecki napisał:
    (brudna i utleniona)
    zalejesz topnikiem i pójdzie. Goldpiny prawie nigdy nie są lutowane (niekoniecznie będziesz chciał takie jak oni mają przylutować - a odlutować jest raczej ciężej :) ). Dostałem ostanio płytkę z przylutowanymi - a akurat chciałem przylutować żeńskie z bardzo długimi nóżkami i się naodlutowywałem.

    Jeżeli to taka jakość jak piszesz to ciekawe ile wytrzyma gniazdo USB i miedź do której jest przylutowany (kiedy odlezie od laminatu). Zresztą zraziłem się do płytek robionych w Polsce właśnie z tego powodu (może nie miałem szczęścia do firm ale niektóre dawały ceny wyższe niż tu lokalnie pod Londynem)

  Szukaj w 4mln produktów
Przeglądaj produkty