Wpis z mikrobloga

#stm32 #mikrokontrolery

EDIT Aha, na obrazku połączyłem RX z RX i TX z TX - oczywiście jest RX z TX i TX z RX jak coś, więc to nie jest problemem xd

EDIT2 **OK, problem rozwiązałem, okazało się, że VDD_Target to jest wejście dla programatora, a nie jego wyjście i zasilać docelowy układ trzeba zewnętrznie, zostawiam rozwiązanie dla potomnych xD**

Programował ktoś z was gołego STM-a przez ten programator dołączany do Nucleo?

Nie wiem, czy dobrze to podłączam. Na tym module STLink usunąłem te zworki, co trzeba. Ale jak uploaduję, to wypluwa mi błędy. Nie wiem też czy potrzebne jest połączenie RX i TX czy może samo SWDIO wystarczy do sflashowania mcu?

SB12 NRST (target STM32 RESET) must be OFF if CN4 pin 5 is used in the external application.

Jak z resetem jest też nie wiem. Tego cytatu z dokumentacji nie bardzo rozumiem.

Kolega w pracy mówił, że jeszcze trzeba gdzieś mu podobno podać niski/wysoki stan na jakieś piny, ale nie powiedział gdzie.

Błędy przy uploadzie:

Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v28 API v2 SWIM v17 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.270434
Error: init mode failed (unable to connect to the target)
zwei - #stm32 #mikrokontrolery 

EDIT Aha, na obrazku połączyłem RX z RX i TX z TX ...

źródło: comment_iCudjnsxgNzCoYLX8rRDgxYh5h2qtbZn.jpg

Pobierz
  • 5
  • Odpowiedz
Na tym module STLink usunąłem te zworki, co trzeba


@Foksering: Ale jak już jesteśmy przy tym temacie, to wrzuciłem standardowo jakieś tam miganie diodą i o ile stm jest sflashowany, zweryfikowany jak należy (przynajmniej tak mówi uploader), to nie mogę go uruchomić. Obudowa i wyprowadzenia jak na obrazku wyżej, a podpiąłem następująco:

* Boot0 do masy przez rezystor 10k
* VDD i VDDA do 3.3V z nucleo + dla każdego z nich decoupling caps
  • Odpowiedz
Ok, czyli jesteś w stanie zaprogramować moduł. A jak masz podłączona diodę? Jaki rezystor?
Jeżeli jest podłączona dobrze, to może być problem w konfiguracji portu. Częstym błędem jest nie uruchomienie taktowania portu przed jego konfiguracja (enable portx clock).
Dobrym pomysłem jest zainstalowanie Atolic Studio i podgląd rejestrów w procesorze w trybie debug (zakłada SFR)
  • Odpowiedz
@Foksering: ok już mi się udało używając Makefile'a wygenerowanego przez Cube'a. Ogólnie używam Cube'a, więc na poziomie kodu zegar jest skonfigurowany poprawnie. Tylko wcześniej generowałem projekt w Cube, a potem używałem tego kompilatora i ustawień, które są domyślnie zapewnione przez platform.io (taki plugin kobyła do vscode'a do obsługi różnych platform embedded, jakby ktoś nie wiedział), a on ma tam to wszystko ustawione pod płytki ewaluacyjne a nie gołe MCU.

No
  • Odpowiedz