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

Jak zaprogramować STM32F103VET6 na płycie MKS Robin Nano 1.2?

Marek Sp 01 Lut 2020 15:04 5097 32
REKLAMA
  • REKLAMA
  • Pomocny post
    #2 18442064
    Mac3k
    Poziom 20  
    Tutaj schemat i repozytorium tego projektu:

    https://github.com/makerbase-mks/MKS-Robin/tr...obin%20Nano/firmware/Marlin2.0-MKS-Robin_nano

    https://github.com/makerbase-mks/MKS-Robin/bl...1_001/MKS%20Robin%20Nano%20V1.1_001%20SCH.pdf

    Złącze programowania opisano jako J11. Potrzebujesz programatora typu ST-LinkV2, oraz sterownika do niego ze strony ST i programu ST-Link utility. Programator należy podłączyć odpowiednio do złącza J11, następnie wybrać odpowiedni wsad i wgrać go na procesor programem ST-Link Utility.
  • REKLAMA
  • REKLAMA
  • #9 18446690
    Marek Sp
    Poziom 20  
    Programator bez problemu się połączył.jako ze to czysty procesor to chyba go należy ustawić bo jest kwarc zewnętrzny 8000 a program st-link podaje mi 4 Mhz
    Wgrałem ten bootloader i nic sie nie dzieje tez wgrałem orginalne oprogramowanie i tez nic. Nie mam konceptu co dalej.
  • Pomocny post
    #10 18447609
    Mac3k
    Poziom 20  
    W StLink Utility nic nie musisz ustawiać - wyborem zegara i innych ustawień zajmuje się program który wgrywasz. Właściwa binarka powinna załatwić sprawę - upewnij się ze wgrywasz na procesor to co trzeba.
  • #11 18447888
    Marek Sp
    Poziom 20  
    Mac3k napisał:
    W StLink Utility nic nie musisz ustawiać - wyborem zegara i innych ustawień zajmuje się program który wgrywasz. Właściwa binarka powinna załatwić sprawę - upewnij się ze wgrywasz na procesor to co trzeba.

    Nie wiem czy to poprawna binarka, jest to bin albo chinski z ich github albo wynikowy z kompilacji marlina. Może to tylko część oprogramowania ?
    Tam ciągle piszą wgraj na kartę SD i powinien się ładować a tu nic z karty nie działa, jak płyta jeszcze była sprawna to na początku pokazywał sie bootloader jak się włożyło bin z softem można było aktualizować
    miedzy innymi to próbowałem wgrać.
    https://github.com/makerbase-mks/MKS-Robin/bl...n%20Nano/Mks_Nano_V1.0.3%20Release%20file.rar
    Al to chyba część oprogramowania tylko gdzie zdobyć cały wsad ? majfrendy świętują
  • Pomocny post
    #13 18452182
    ThoronDC
    Poziom 16  
    Witam

    Jeśli nie mam bootloadera, to aby działał Marlin 2.x musisz zmodyfikować platformio.ini i wgrywać program przez ST-linka. Marlin z gotowych skryptów tworzy binarkę pod adres 0x08007000 i tak ją wywołuj bootloader którego już nie masz.

    Musisz więc wgrać program pod adres 0x08000000 zamiast 0x08007000, najprościej pominąć linijkę w platformio.ini

    Sekcja
    [env:mks_robin_nano]
    i przed
    extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py
    wstawić ;
    czyli
    ;extra_scripts = buildroot/share/PlatformIO/scripts/mks_robin_nano.py

    I wgrać po zakończonej kompilacji. Powinno działać.

    Miałem ten sam problem z Bigtree SKR MINI v1.1 (też usunąłem bootloader).
    Nie mam bootloader i wgrywam przez ST-linka i działa OK.

    PS:
    Zajrzałem do MKS-Robin-bootloader i tam masz zdaję się kopię orginalnego bootloader (Robin.bin). Ten program służy do zrobienia kopii oryginalnego bootloader którego już nie masz.
    Wgraj przy pomocy STlinka Robin.bin od 0x08000000 i powinien wrócić bootloader.


    Pozdrawiam
  • #15 18452735
    ThoronDC
    Poziom 16  
    Tak

    Chociaż według src nagrywa "Bootload.bin" na kartę SD
  • #16 18453208
    Marek Sp
    Poziom 20  
    Na kartę juz go przedtem wgrywałem ale nie zadziałało. Wgram poprzez TP- linka pod tym adresem.

    Dodano po 1 [godziny] 1 [minuty]:

    Niestety nic z tego chyba ze źle wgrywam tego bootloadera przez ST-link V2 , niezbyt jestem z tym programatorem obeznany ale przeglądając program zauważyłem ze jest jakaś opcja BOOT i ta pozostaje martwa czy może w ustawieniach programatora jest jakiś problem ?

    Dodano po 3 [godziny] 49 [minuty]:

    Wszelkie próby wgrywania nie dają żadnych efektów jedynie procesor sie zgłasza jako Com.
  • #17 18455078
    Marek Sp
    Poziom 20  
    Poczytałem i ten plik który niby jest bootloaderem jest zaszyfrowanym factoryfirmware. Niestety jest tam dodatkowo jakiś program który jak wynika z opisu szyfruje bootloader i zapisuje na karcie SD czy działa odwrotnie to nie wiem bo az tak dobry to ja nie jestem. Może ktoś poświeci chwile i przeanalizuje jak go uruchomić i w jakim SO bo na windowsa to nie wygląda.
  • REKLAMA
  • Pomocny post
    #20 18473970
    ThoronDC
    Poziom 16  
    Witam

    Wersja Marlin bugfix 2.0.x (stabilna u mnie się nie kompiluje pod MKS Robin nano)
    Sprawdzałem na Visual Studio Code z Platform IO pod Linux Mint 19.3.
    Bez wyświetlacza (nie wiem jaki masz)

    W katalogu config masz 3 wersje (moją BTT z wyświetlaczem, oraz 2 MKS Robin Nano)

    Wgrywałem przez chiński klon stlinka - Do Btt SKR Mini v1.1 (taką ma), Twoja tylko kompilowałem.
    Jak zaprogramować STM32F103VET6 na płycie MKS Robin Nano 1.2?

    Marlin-MKS...n_Nano.zip Download (11.89 MB)

    Pozdrawiam
  • #21 18474209
    Marek Sp
    Poziom 20  
    Dziękuję bardzo zobaczymy czy cokolwiek się stanie. Wyświetlacz mam oryginalny opisane jako MKS TFT 35v1.0,Ja próbowałem kompilować w programach Arduino IDE i marlin-conf i tez nie chce kompilować a w VFC nie udaje mi się uruchomić kompilacji.
    , tez używam Mint 19.2 ale tez próbowałem kompilować w Win7

    Dodano po 46 [minuty]:

    Niestety nie znalazłem pliku binarnego i nie mam jak zaprogramować ST-linkiem, Nie udało mi się uruchomić programatora pod Linux wiec programuje pod win7. Jeżeli masz binarki to poproszę
  • #22 18474507
    ThoronDC
    Poziom 16  
    Witam

    Konfiguracja i skompilowane pliki z i bez wyświetlacza

    //
    // FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.)
    //
    #define FSMC_GRAPHICAL_TFT

    Jeżeli ma być inny to musisz wybrać z "Configuration.h" jaki ma być.

    MKS_Robin..no.zip Download (6.74 MB)
  • #26 19069974
    st4chuu
    Poziom 15  
    Witam, Post dość stary ale może mój wpis pomoże komuś kto tu trafi.
    Sam miałem podobny problem z płytą od endera 4.2.2.
    Zaczęło się od włożenia karty z plikiem o rozszerzeniu bin.
    Drukarka przestała reagować. Postanowiłem wgrać na nowo firmware.
    Wcześniej miałem drukarkę, gdzie aktualizacja firmware odbywała się przez ISP. tutaj zobaczyłem, że jest stm więc się rozpędziłem i podłączyłem st linka.
    No i kaplica bo dalej nic nie działa, a co gorsze popisałem po bootloaderze.
    Napisałem krótki firmware udający bootloader wgrywany od adresu 0x08000000

    __asm volatile
    (
    " movw r0, #0x7000 \n"
    " movt r0, #0x0800 \n"
    " movw r1, #0x7004 \n"
    " movt r1, #0x0800 \n"
    " ldr r13, [r0] \n"
    " ldr r15, [r1] \n"
    );

    W skrócie wykonywany jest skok we właściwy obszar.

    Od adresu 0x08007000 wgrałem właściwy firmware, oficjalny.
    Wadą tego rozwiązania jest brak możliwości aktualizacji z karty. Jednak szukałem rozwiązania na szybko.

    Co do pytania z utratą łączności.
    Aby przywrócić komunikację z st-linkiem trzeba ustawić w ustawieniach target->settings mode "Connect under reset" i wymusić reset procesora fizycznym resetem.
    Jeżeli jest wyprowadzony na płytkę to półbiedy. Czasem go nie ma i jest tylko np rezystor podciągający. Wtedy niestety trzeba chwycić lutownicę w dłoń.
  • #28 19070783
    st4chuu
    Poziom 15  
    Jasne, skoro leży zawsze można spróbować wskrzesić ;)
  • Pomocny post
    #30 19072397
    st4chuu
    Poziom 15  
    To nie szkodzi, że procesor jest czysty.
    Wgrywasz firmware ustawiając adres początkowy w stlinku
    i od początku wgrywasz tą imitacje firmware.
    Nic więcej procesor nie potrzebuje.
    Kontaktowałem się z creality oni nie udostępniają nic. A czytałem po forach sporo ludzi się wpakowało i w ten sposób uwaliło sobie płytę.
    Właśnie z przyzwyczajenia, że tego bootloadera nie było a aktualizację robiło się przez złącze programatora.

    Skoro już "straciłeś" procesor na stlinku to prawdopodobnie dobry znak. Tzn że coś działa a dany wsad ma nie aktywne złącze programowania. Domyślny wsad endera też nie ma złącza programowania i w trakcie normalnej pracy nie da się go zaprogramować.

Podsumowanie tematu

Użytkownik wymienił procesor w płycie MKS Robin Nano 1.2 po awarii drukarki 3D, jednak napotkał problemy z programowaniem nowego procesora STM32F103VET6. W dyskusji przedstawiono różne metody programowania, w tym użycie programatora ST-Link V2 oraz wgrywanie bootloadera. Użytkownicy dzielili się linkami do repozytoriów z firmwarem Marlin oraz bootloaderem, a także wskazówkami dotyczącymi konfiguracji i kompilacji oprogramowania. Problemy związane z brakiem komunikacji z procesorem oraz koniecznością wgrania odpowiednich plików binarnych były kluczowymi tematami. Wskazano również na różnice w adresach pamięci, które należy uwzględnić podczas programowania.
Podsumowanie wygenerowane przez model językowy.
REKLAMA