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 w 2025? 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 13 maja 2025, o 23:20


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 2 lip 2015, o 16:38 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    Witam,

    Buduję sobie Arduino na ATmega1284P w oparciu o Sanguino: http://www.blue17.elektroda.eu/mikrokontrolery-avr/1935.

    Bootloader wgrany, ale nie zawsze chce się wgrać program :( Diody na przejściówce (http://www.ebay.com/itm/181720085968?_t ... EBIDX%3AIT) coś tam sobie pomigają i tyle. Czasami wgra się wsad, ale bardzo rzadko. Procesor na pewno przechodzi w stan RESET, bo przestaje migać dioda na pinie PB0 (digital 0) (z programu blink, który kiedyś udał mi się wgrać). Czy to może być coś nie tak z bootloaderem. Czy mogło być tak, że bootloader się nadpisał?

    Połączenia:

    Przejściówka | ATmega1284P
    RXD | TXD
    TXD | RXD
    RTS | RESET


    Oczywiście sam mikrokontroler dobrze podłączony, bo można normalnie programować z USBASP.

    ObrazekObrazekObrazek

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 19:13 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    DamCos napisał(a):
    Czy mogło być tak, że bootloader się nadpisał?


    jeśli nie zabezpieczyłeś sekcji bootloadera to jest możliwe że uleciał ....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 19:18 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    DamCos napisał(a):
    Czy mogło być tak, że bootloader się nadpisał?


    jeśli nie zabezpieczyłeś sekcji bootloadera to jest możliwe że uleciał ....


    A w jakim sensie "zabezpieczyć"? To znaczy co wykonać. Bo właściwie to wypaliłem go z Arduino IDE.

    ------EDIT--------------

    Wgrałem ten bootloader jeszcze raz, ale za pomocą MkAVRCalculator. Po wgraniu tego bootloadera mogę zaprogramować procka, ale już kolejny raz nie mogę. Taki jakiś jednorazowy bootloader. Jak zrobić, żeby nie uciekał?

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 19:55 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    nie zabezpieczasz sekcji bootloader przed nadpisaniem....


    Dla megi1284:

    masz następujące fusebity dla arduino :

    LFuse = 0xFF
    HFuse = 0xDC
    EFuse = 0xFD

    wgrywasz bootloader i zabezpieczasz sekcję bootloadera przez zastosowanie

    lock bit = 0x0F

    natomiast unlock to 0x3F


    wszystko należy wykonać w odpowiedniej kolejności ....


    UWAGA !!!

    Operacje na Fuse Bitach i LOCK Bitach -- są dla doświadczonych użytkowników i należy wykonywać zmiany z rozwagą.
    Za złe/ niewłaściwe stosowanie prowadzące do uszkodzenia/zablokowania mikrokontrolera nie ponoszę odpowiedzialności !!!

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 19:58 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    nie zabezpieczasz sekcji bootloader przed nadpisaniem....


    Dla megi1284:

    masz następujące fusebity dla arduino :

    LFuse = 0xFF
    HFuse = 0xDC
    EFuse = 0xFD

    wgrywasz bootloader i zabezpieczasz sekcję bootloadera przez zastosowanie

    lock bit = 0x0F

    natomiast unlock to 0x3F


    wszystko należy wykonać w odpowiedniej kolejności ....


    UWAGA !!!

    Operacje na Fuse Bitach i LOCK Bitach -- są dla doświadczonych użytkowników i należy wykonywać zmiany z rozwagą.
    Za złe/ niewłaściwe stosowanie prowadzące do uszkodzenia/zablokowania mikrokontrolera nie ponoszę odpowiedzialności !!!



    OK, a ten lock bit to to samo co lock bajt (chodzi o mkavrcalculator)? Bo mam to ustawione na 0x3F.

    teraz ustawiłem tak:

    Obrazek

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 20:06 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    DamCos napisał(a):
    OK, a ten lock bit to to samo co lock bajt (chodzi o mkavrcalculator)? Bo mam to ustawione na 0x3F.


    czytałeś co napisałem ?? wyżej ??

    0x3F to unlock czyli nie jest zabezpieczone nic ....
    0x0F to lock w tym momencie zabezpiecza ta wartość tylko ustawiony sektor bootloadera przed nadpisaniem

    a jak nazwał kto w programie ??? jakie ma znaczenie ..... to są LOCK BITY
    a odpowiednie wartości są opisane za co odpowiadają

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

    Uważaj dla ATMEGA1284P wartości fusebits są inne od podanych wyżej dla ATMEGI1284

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 20:59 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    DamCos napisał(a):
    OK, a ten lock bit to to samo co lock bajt (chodzi o mkavrcalculator)? Bo mam to ustawione na 0x3F.


    czytałeś co napisałem ?? wyżej ??

    0x3F to unlock czyli nie jest zabezpieczone nic ....
    0x0F to lock w tym momencie zabezpiecza ta wartość tylko ustawiony sektor bootloadera przed nadpisaniem

    a jak nazwał kto w programie ??? jakie ma znaczenie ..... to są LOCK BITY
    a odpowiednie wartości są opisane za co odpowiadają

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

    Uważaj dla ATMEGA1284P wartości fusebits są inne od podanych wyżej dla ATMEGI1284



    Zrobiłem wszystko i dalej jest to samo :(

    Po diodach na przejściówce widzę, że coś jest wysyłane do mikrokontrolera, ale od niego nic nie idzie do PC :(

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 lip 2015, o 21:30 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    to może ci się nie wgrywa bootloader ??
    albo ci się wydaje że ci się wgrywa ??

    bo dla 1284 bootloader używa protokoły STK500v2 przy 19200bps ...
    przy czym wymaga resetu z DTR lub ręcznie przed wgraniem jak zrobiułęś zle płytkę

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lip 2015, o 11:36 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    to może ci się nie wgrywa bootloader ??
    albo ci się wydaje że ci się wgrywa ??

    bo dla 1284 bootloader używa protokoły STK500v2 przy 19200bps ...
    przy czym wymaga resetu z DTR lub ręcznie przed wgraniem jak zrobiułęś zle płytkę


    Wgrywam odpowiedni plik *.hex do FLASHa za pomocą mkavrcalculator. Klikam zapis i potem wybieram za jednym razem rodzaje pamięci: flash, fuse bity i lock bity.
    Obrazek

    Dodam jeszcze wpis, który jest w pliku boards.txt :

    Kod:
    ##############################################################

    atmega1284.name=Sanguino W/ ATmega1284p 16mhz

    atmega1284.upload.protocol=stk500
    atmega1284.upload.maximum_size=131072
    atmega1284.upload.speed=19200
    atmega1284.upload.tool=avrdude

    atmega1284.bootloader.tool=avrdude
    atmega1284.bootloader.low_fuses=0xFF
    atmega1284.bootloader.high_fuses=0x9A
    atmega1284.bootloader.extended_fuses=0xFF
    atmega1284.bootloader.path=atmega
    atmega1284.bootloader.file=ATmegaBOOT_168_atmega1284p.hex
    atmega1284.bootloader.unlock_bits=0x3F
    atmega1284.bootloader.lock_bits=0x0F

    atmega1284.build.mcu=atmega1284p
    atmega1284.build.f_cpu=16000000L
    atmega1284.build.core=sanguino
    atmega1284.build.variant=sanguino


    Może tu coś jest namieszane?

    W schematach sanguino narysowali, że reset powinien iść z RTS przez C 100 nF do pinu RESET.
    Obrazek

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lip 2015, o 15:02 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    to stary schemat dla starego bootloadera

    zobacz jak ja robię reset działa bezbłędnie ...

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    to stary schemat dla starego bootloadera

    http://www.sunduino.pl/wordpress/konwer ... el-usb-01/
    zobacz jak ja robię reset działa bezbłędnie ...

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lip 2015, o 15:55 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    to stary schemat dla starego bootloadera

    zobacz jak ja robię reset działa bezbłędnie ...

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    to stary schemat dla starego bootloadera

    http://www.sunduino.pl/wordpress/konwer ... el-usb-01/
    zobacz jak ja robię reset działa bezbłędnie ...




    na 0:06 widać, że mam podłączone przewody pod drugi UART w uC, ponieważ próbowałem na obu i nic. Zawsze sytuacja jest taka sama, bez znaczenia do którego UARTa w ATmega1284P podłączę kabelki.

    Klikam w Arduino "Załaduj" a procesor się wcale nie resetuje. Dioda na PB0 miga, a powinna zgasnąć podczas RESETu (tak w ogóle to dioda miga od kiedy wgrałem bootloader).
    Przy każdej kolejne próbie wgrania Arduino wywala, że jest odmowa dostępu do portu. :(

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lip 2015, o 19:20 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Niestety film jest prywatny



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lip 2015, o 19:46 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    Zaba napisał(a):
    Niestety film jest prywatny

    Oj, przepraszam najmocniej. Film miał być niepubliczny. Już poprawione :) Przepraszam.

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2015, o 17:37 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    Czy ma ktoś jakieś pomysły co jeszcze może być nie tak?

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2015, o 18:39 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    nie mam pomysłu jakbym nie robił działa za każdym razem prawidłowo
    i z 1284p i 644p i 644
    nie mam pomysłów co można w tak prostym układzie zepsuć ...

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 lip 2015, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    SunRiver napisał(a):
    nie mam pomysłu jakbym nie robił działa za każdym razem prawidłowo
    i z 1284p i 644p i 644
    nie mam pomysłów co można w tak prostym układzie zepsuć ...

    Ok, więc dziękuję za wszystkie porady :) być może to wina tej chińskiej przejściówki. Postaram się zrobić samodzielnie przejściówkę i wtedy będę próbował dalej :)

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lip 2015, o 15:46 
    Offline
    Użytkownik

    Dołączył(a): 12 kwi 2014
    Posty: 208
    Lokalizacja: Białystok
    Pomógł: 0

    No więc testowałem z przeróżnymi przejściówkami, nawet użyłem Arduino UNO jako przejściówki UART i dalej jest to samo. To chyba wina procesora. Szukałem co jeszcze mogłem zrobić nie tak. Może tak jest dlatego, że brakuje kondensatorów przy kwarcu?

    _________________
    Mam 16 lat, nie jestem zawodowcem ;)



    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: 17 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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