Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 15 lip 2025, o 10:09


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 30 maja 2019, o 16:17 
    Offline
    Nowy

    Dołączył(a): 02 gru 2013
    Posty: 4
    Pomógł: 0

    Witajcie.

    Z programu mkBootloader korzystam od pół roku - jak na razie bez żadnych problemów na kilku różnych kontrolerach.
    Niestety teraz napotkałem na problem którego nie mogę rozwiązać.

    Próbuję uruchomić bootloader na mikrokontrolerze ATMgega328p (są to płytki arduino mini pro z tym właśnie mikrokontrolerem).
    Bootloader generuję z mkBootloadera z następującymi ustawieniami:
    Microcontroller: ATmega328p
    Frequency Hz: 16 000 000
    Baudrate: 9600
    BLS adress: 0x7E00
    Wait time after restart: 1


    Wgrywam programem mkAVR Calculator, z następującymi fusebitami:
    L:FF H:DE E:FD LockBajt: 3F

    Po wgraniu bootloadera w programie mkBootloader działa normalnie funkcja "INFO" podaje informacje o bootloaderze.
    Przy próbie wgrania poprzez UploadHEX - pojawia się pasek postępu, otrzymuję informacje:

    "Odczyt danych z BootLoader'a
    Procesor: ATmega328p
    Taktowanie: 16 000 000 Hz
    BootLoader: 1
    FLASH
    PageSize: 128, FreeMEM: 32 256kb (0x7E00)
    programowanie w toku:..
    Procesor zaprogramowany pomyślnie."


    Niestety wgrany program nie startuje, mikrokontroler zachowuje się tak jak po świeżo wrzuconym bootloaderze, czyli: reaguje na przycisk "INFO" - nie potrzebuje resetu, gdy podglądam w terminalu to mikrokontroler wciąż wysyła znaki zachęty przy baudrate 9600.

    Program który wgrywam jest skompilowany w BASCOMie - próbowałem z kilkoma różnymi programami, nawet najprostszymi typu miganie diodką - efekt zawsze ten sam.
    Program z BASCOMa wgrany bezpośrednio przez ISP (mkAVR Calculator) działa zgodnie z założeniami - więc to chyba nie problem z samym HEXem który wgrywam.

    Efekt występuje na 3szt. identycznych płytek z ATmega328p - wszystkie 3szt. zachowują się identycznie.
    Testowałem też 2 różne przejściówki USB-UART - efekt identyczny.
    Próbowałem generować bootloader z różnymi prędościami transmisji (9600, 19200, 38400) - efekt ten sam.
    Płytka zasilana z 8V, ma LDO na pokładzie które daje stabilne 5V do zasilania ATmegi, przejściówki USB-UART również w standardzie 5V.
    Kwarc 16MHz - raczej pracuje poprawnie, szybki test: testowy program napisany w BASCOMie i wgrany tradycyjnie przez ISP bez problemu wysyła stringi które mogę odebrać w terminalu (testowane z baudrate 9600, 19200 i 57600 - wszystko ok).

    Co ciekawe mikrokontroler z dokładnie tym samą przejściówką USB-UART i tymi samymi HEXami, pracuje poprawnie z innym bootloaderem z internetu.

    Bardzo proszę o pomoc, pierwszy raz spotykam taki problem i już kompletnie nie wiem co jeszcze mogę sprawdzić...
    Z góry bardzo dziękuję za rady i pomoc.

    Pozdrawiam, Michał.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2019, o 17:08 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2596
    Pomógł: 129

    A jaka zajetość pokazuje MkBootloader po kompilacji Twojego kodu? Mieści się w obszarze, który wybrałeś fusebitami?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2019, o 19:32 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    zubik napisał(a):
    Pisał że mruga ledem więc powinno się zmieścić.

    gdzie pisał że mruga diodą ?

    ------------------------ [ Dodano po: 2 minutach ]

    motykami napisał(a):
    Niestety wgrany program nie startuje, mikrokontroler zachowuje się tak jak po świeżo wrzuconym bootloaderze, czyli: reaguje na przycisk "INFO" - nie potrzebuje resetu, gdy podglądam w terminalu to mikrokontroler wciąż wysyła znaki zachęty przy baudrate 9600.

    to pierwsze co zrób to odczytaj zawartość FLASH i zobacz co zawiera od adresu 0x0000 czyli od początku - czy widać tam wsad wgrany czy nie - no to podstawa żeby sprawdzić.

    Ale sprawdź to na krótkim prostym programie do mrugania diodą LED i zostaw na razie dłuższe wsady.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2019, o 20:00 
    Offline
    Nowy

    Dołączył(a): 02 gru 2013
    Posty: 4
    Pomógł: 0

    mirekk36 napisał(a):
    zubik napisał(a):
    Pisał że mruga ledem więc powinno się zmieścić.

    gdzie pisał że mruga diodą ?
    .


    O tutaj:
    motykami napisał(a):
    Program który wgrywam jest skompilowany w BASCOMie - próbowałem z kilkoma różnymi programami, nawet najprostszymi typu miganie diodką - efekt zawsze ten sam.
    .


    Problem rozwiązany ;) - a okazał się nim problematyczny konwerter USB-UART, a właściwie 2 konwertery na chipie CH341 (oba identyczne) które nie wiedzieć czemu sprawiają problem przy wgrywaniu programu przez mkBootloader. Generalnie te konwertery są sprawne - tzn. widzę echo w terminalu dy zewrę TX z RX, gdy wgram do ATmegi program z obsługą UARTu to również przejściówka działa poprawnie.
    Spróbowałem wgrać program mkBootloaderem z wykorzystaniem przejściówki na FT232 wbudowanej w płytkę ewaluacyjną - i zadziałało.
    Co ciekawe efekt jest w 100% powtarzalny, niby sprawny konwerter na CH341 - program się nie wgrywa (efekt jak opisałem powyżej), konwerter FT232 - działa za każdym razem.

    No nic, mam nauczkę żeby używać sprawdzonego FT232 a nie chińskich CH341.
    Wybaczcie za zawracanie głowy - problem leżał po stronie HW, mkBootloader nie był winny - choć ciekawym jest że inny bootloader działał również i na CH341 :(
    Dziękuję za Wasze porady i sugestie.

    Mam natomiast inne pytanie - na które wpadłem przy walce z tym problemem.
    Czy mkBootloader robi jakąkolwiek weryfikację tego co wgrywa?
    Czemu pomimo nie powdzenia we wgrywaniu programu dostawałem informację "Procesor zaprogramowany pomyślnie." ?
    Trochę to niepokojące, czy choćby proste błędy w transmisji nie spowodują zmian we wgrywanym programie - które mogą objawiać się w zupełnie losowych momentach?

    Pozdrawiam, Michał.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 maja 2019, o 20:14 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27416
    Lokalizacja: Szczecin
    Pomógł: 1043

    Cytuj:
    No nic, mam nauczkę żeby używać sprawdzonego FT232 a nie chińskich CH341.

    bardzo dobry wniosek - aż język boli od powtarzania, że nie ma co oszczędzać i wpatrywać się w chińszczyznę "bo taniej"

    motykami napisał(a):
    Czy mkBootloader robi jakąkolwiek weryfikację tego co wgrywa?

    Jakby występowały takie problemy to można byłoby tak się bawić - ale jakoś po 11 latach od powstania programu nikt na takie rzeczy nie narzeka ... więc po co ?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO