Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Przystosowanie płytki STM32 do pracy z Arduino IDE

kacpo1 29 Lip 2018 17:02 7056 43
  • #31 29 Lip 2018 17:02
    simw
    Poziom 21  

    tronics napisał:
    @simw - nie wiem czy te "ignore" z lewej to dobry pomysł ;)

    Faktycznie, tego nie zauważyłem, nie mniej jednak po odznaczeniu wszystkich "ignorów" i tak dostajemy pełną stronę, procków.
    Przystosowanie płytki STM32 do pracy z Arduino IDE

    EDIT.
    Niestety z F4 jest tylko jeden, ale nie jest w pełni kompatybilny, zatem tutaj niestety pudło. Pozostaje coś z F3, bo to całkiem ciekawe procki - choćby wbudowane wzmacniacze operacyjne, aż 4 w STM32F303CB

    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Computer Controls
  • #32 29 Lip 2018 18:13
    marycyś
    Poziom 11  

    Nie ma przypadkiem kompatybilnego z RAM >=64kB? Jak komuś zależy na większym SRAM, to ten STM32F103C8T6 jest stanowczo za cienki :)

    Poza tym w tabeli są błędy, np. STM32F303CCTx ma tylko 40kB pamięci.

  • Computer Controls
  • #34 24 Lis 2018 23:57
    _jta_
    Specjalista elektronik

    niezbędny będzie konwerter USB do TTL (inaczej USB do Serial)

    To pozostawia pewną niejasność, bo właśnie kupiłem dwie różne przejściówki USB do Serial, i one różnią się paroma cechami. Jedną z nich jest to, że stan STOP na wyjściu TxD (nie pomyl z BREAK, bo to akurat jest odwrotny) dla jednej daje 0V (czyli L, a stany START i BREAK 5V, czyli H), a dla drugiej 3.5V (czyli H, a te inne 0V, czyli L). Drugą - jedna ma oprócz TxD sygnały DTR i RTS (oraz zapewne wejścia DSR, DCD, CTS i RI - jeszcze tego nie sprawdziłem), a druga tylko TxD, RxD, GND, 5V, 3V3.

    No i mam wrażenie, że przede wszystkim jest istotne, w jakiej logice ma być sygnał TxD: STOP to H, czy L? Poza tym pewnie byłoby pożądane, aby oprócz TxD mieć jakieś inne wyjście, żeby móc podać sygnał RESET - ale jeśli ma być logika STOP=H, to tego wyjścia nie ma (przynajmniej dla przejściówki, którą kupiłem).

    Aha: STM32 (przynajmniej moduł Blue Pill, zawierający STM32F103C8T6 - to chyba to, o czym piszesz w #1) można podłączyć do Raspberry Pi - podłączyłem jego port SWD, i działa bez żadnych przejściówek; używam programu openocd, ale wersja 0.8, którą dają do Raspbiana, nie działa, musiałem ściągnąć i skompilować source wersji 0.10; openocd musi mieć uprawnienia do GPIO; podałem opcję -f i nazwę pliku konfiguracyjnego o zawartości:

    Kod: less
    Zaloguj się, aby zobaczyć kod


    Zmieniłem "reset halt" na "soft_reset_halt" (uwaga: mało jeszcze znam polecenia użyte w tym pliku), bo nie mam podłączonego resetu (NRST) - nie zdążyłem jeszcze wlutować goldpinów. Do Raspberry Pi podłączyłem kabelki do złącza GPIO, piny 16 (GEN4), 17 (3V3), 18 (GEN5), 20 (GND), 22 (GEN6) - cztery z nich połączyłem do pinów SWD Blue Pill, piąty powinien być podłączony do NRST (chyba na płytce jest oznaczony 'R'), ale nie jest, i dlatego nie mogę używać "reset halt". Po połączeniu z portem 4444 (lokalnie) zgłasza się "Open On-Chip Debugger" i mogę nim śledzić (oraz załadować, czy zmienić) program na STM32.

    Być może da się również podłączać port szeregowy Pi do USART1 STM32 i w ten sposób coś z nim robić, ale na razie nie mam jak tego wypróbować.

    Moja notatka, którą zrobiłem zabierając się za podłączanie STM32 do Raspberry Pi:
    Kod: less
    Zaloguj się, aby zobaczyć kod

    Zapisałem w niej kolory żył kabla, żeby móc sprawdzać, czy dobrze podłączyłem.

  • #35 21 Gru 2018 22:53
    Dulan
    Poziom 26  

    Szkic używa 13532 bajtów (20%) pamięci programu. Maksimum to 65536 bajtów.
    Zmienne globalne używają 2824 bajtów pamięci dynamicznej.
    maple_loader v0.1
    Resetting to bootloader via DTR pulse
    Reset via USB Serial Failed! Did you select the right serial port?
    Searching for DFU device [1EAF:0003]...
    Assuming the board is in perpetual bootloader mode and continuing to attempt dfu programming...

    dfu-util - (C) 2007-2008 by OpenMoko Inc.
    This program is Free Software and has ABSOLUTELY NO WARRANTY


    Couldn't find the DFU device: [1EAF:0003]


    Zapakowałem bootloader przez ST-Linka. W menadżerze urządzeń widnieje: Przystosowanie płytki STM32 do pracy z Arduino IDE

    Nie mogę nic załadować przez USB. Rezystor zmieniłem na 1,5K.
    Nie widzę też portu COM dla ST, a ponoć ma być.

  • #36 21 Gru 2018 22:56
    kacpo1
    Poziom 32  

    Wykonałeś ten krok?
    "W folderze "hardware" --> "Arduino_STM32-master" --> "drivers" --> "win" mamy dwa pliki "install_drivers" i "install_STM_COM_drivers" włączamy najpierw jeden, przechodzimy przez proces instalacji, a potem drugi. "

  • #37 21 Gru 2018 23:32
    Dulan
    Poziom 26  

    Robiłem tak, ale nic się nie zmieniało. Dobrze, że zwróciłeś uwagę na to, bo dało mi to do myślenia i okazuje się, że przy każdej próbie instalacji sterownika, sterownik próbował się zainstalować dla nieznanego urządzenia bluetooth.
    Teraz mam maple serial na com 6,ale zniknął sterownik Maple DFU i koło się zamyka.
    Przystosowanie płytki STM32 do pracy z Arduino IDE

    Załadowałem jeszcze raz bootloader. Nie widzę DFU, ale już da się programować po USB.

  • #38 15 Sty 2019 01:13
    AIIoT
    Poziom 10  

    @Dulan MapleDFU znika po wgraniu pierwszego programu przez Arduino IDE.
    Później korzystasz z Maple Serial i tak jest dobrze, musisz wybrać odpowiedni port COM w Arduino IDE (w trybie DFU się nawet nie da/nie potrzeba).

  • #39 07 Kwi 2019 13:30
    Mech968
    Poziom 2  

    Bardzo przyjemny poradnik, przy jego pomocy uruchomiłem płytkę z stm32f103vet6. Niestety wiele pinów nie jest obsługiwanych w Arduino ide, otrzymuje komunikat np. dla pinu PE5:
    exit status 1
    'PE5' was not declared in this scope i nie jest to błąd "programu" Led blink :) - bo ten sam program z pinem PC13 działa.
    Istnieje jakiś sposób na uruchomienie pozostałych nie obsługiwanych pinów?

  • #40 07 Kwi 2019 16:53
    Slawek K.
    Poziom 29  
  • #41 08 Kwi 2019 18:33
    Mech968
    Poziom 2  

    Tak, to było to. Bardzo Dziękuje!

  • #42 10 Kwi 2019 19:09
    Slawek K.
    Poziom 29  

    Ze swej strony, po testach, polecam Core pod STM32 z tego githuba https://github.com/stm32duino/Arduino_Core_STM32
    Json dla lubiących instalować przez menadżera płytek https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

    Posiada wsparcie dla wielu płytek, i co najważniejsze, wszystkie działają poprawnie. Na tym core bez problemów odpaliłem Black VET6 STM32F407VET6
    http://wiki.stm32duino.com/index.php?title=STM32F407#.22Black_VET6.22_STM32F407VET6_Variant

    Pozdr

  • #43 14 Kwi 2019 17:30
    Mech968
    Poziom 2  

    A jak poradzić sobie z uruchomienie dedykowanego wyświetlacza do płytki z procesorem STM32F103VET6 pracującego na porcie FSCM ILI9325 16 bit. Próbowałem z tymi bibliotekami Adafruit_TFTLCD_16bit_STM32, GxTFT, MCUFRIEND_kbv, ale bez efektu.
    Może macie jakiś pomysł?

  • #44 14 Kwi 2019 21:26
    _jta_
    Specjalista elektronik

    A czy to są biblioteki do tego wyświetlacza?