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

Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp

Marcinolak xD 23 Mar 2023 01:23 534 7
REKLAMA
  • #1 20503927
    Marcinolak xD
    Poziom 12  
    Witam.

    Mam pewne problemy z programowaniem wymienionego w tytule mikrokontrolera, które postaram się rozwinąć poniżej.

    1. Na sześć sztuk mikrokontrolerów jeden z nich zachowuje się dziwnie. Podejrzewam, że jest w jakiś sposób uszkodzony. (Albo klon?) Podczas programowania przez MkAVR Calculator nie ma problemów (poza tymi w drugim punkcie). Procesor jest wykrywany, pobierana jest konfiguracja. Dopiero po włożeniu go do programatora TL866II plus pojawia się cała litania błędów.
    A to sygnatura się nie zgadza, a to weryfikacja napotyka na niezgodność pamięci z buforem... problem dotyczy tylko tej jednej sztuki.
    Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp

    2. Programowanie przez MkAVR Calculator na domyślnej konfiguracji MCU (62 D9 FF) i usbasp zajmuje wieki (ponad pięć minut) niezależnie od wielkości wsadu. Posiadam dwa programatory z różnymi wersjami firmware i problem dotyczy obydwu, jak i wszystkich podłączonych mikrokontrolerów. Reset konfiguracji programu poprzez usunięcie kluczy rejestru nie pomógł. Używany avrdude zainstalowany z programu.
    Przy wgrywaniu przez Eclipse AVR Plugin problem nie wystepuje.

    Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp

    Ostatnie pytanie z ciekawości - czy aktualizować firmware świeżo kupionego usbasp? Nie wiem jaka to wersja. Ma nawet inną konfigurację niż powinien według strony. Pytam dlatego, że może ta wersja jest zmodyfikowana, lepsza? W załączniku wsad.
    Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp

    Mam nadzieję, że udało mi się wszystko dobrze opisać. W razie pytań chętnie odpowiem.
    Pozdrawiam.
  • REKLAMA
  • #2 20504038
    Gienek
    Poziom 37  
    Z tego co widzę, to masz starą wersję MkAVR Calculator. Masz przecież legalną wersję, to dlaczego nie aktualizujesz programu? Może to jest przyczyna takiego zachowania ?
  • REKLAMA
  • #3 20504296
    bart-projects
    Poziom 29  
    W kalkulatorze włącz opcję Auto SCK speed bo na Twoim screenie jest ewidentnie niezaznaczona.
    Wtedy kalkulator przy starcie odczytu ustawia najnizszą prędkość SCK i odczytuje Fusebit`y. Jak zobaczy że masz juz wyłączony CKDIV8 to programuje szybciej i mógłby na przykład 1/4 prędkości 8MHz ale w praktyce najczęściej 1500 kHz.

    W opcjach programu włącz na chwilę "Pokazuj konsolę AVRDUDE ->zawsze" a nie tylko gdy wystąpi błąd.
    Wtedy przy próbie programowania gdzieś w górnych liniach pisze "cannot set SCK frequency", albo coś w ten deseń. To oznacza, że w programatorze masz stary soft i warto go wtedy uaktualnić.

    Osobiście już to w kilku robiłem i zawsze brałem soft z oficjalnej strony projektu na fishl.de

    W procesorze Atmega328P wyłącz bit CKDIV8 to będzie się programował szybciej.

    @Gienek To jest najnowsza wersja - licznik im się przekręcił ahahahahaha :D
  • #4 20504391
    Marcinolak xD
    Poziom 12  
    Dziękuję bardzo za odpowiedzi,

    bart-projects napisał:
    W opcjach programu włącz na chwilę "Pokazuj konsolę AVRDUDE ->zawsze" a nie tylko gdy wystąpi błąd.
    Wtedy przy próbie programowania gdzieś w górnych liniach pisze "cannot set SCK frequency", albo coś w ten deseń. To oznacza, że w programatorze masz stary soft i warto go wtedy uaktualnić.


    Faktycznie po pokazaniu konsoli wszystko stało się jasne.
    Atmega328P: Dziwne problemy z programowaniem, TL866II Plus, MkAVR Calculator, USBasp

    bart-projects napisał:
    W kalkulatorze włącz opcję Auto SCK speed bo na Twoim screenie jest ewidentnie niezaznaczona.
    Wtedy kalkulator przy starcie odczytu ustawia najnizszą prędkość SCK i odczytuje Fusebit`y. Jak zobaczy że masz juz wyłączony CKDIV8 to programuje szybciej i mógłby na przykład 1/4 prędkości 8MHz ale w praktyce najczęściej 1500 kHz.


    Niestety jeśli o to chodzi to od tego zacząłem, JEDNAK program sam mi tę opcję wyłącza, a jeśli nie to ustawia widoczną częstotliwość przy taktowaniu z CKDIV 1MHz. Przy zewnętrznym taktowaniu 16MHz na przykładzie wgrywania bootloadera Arduino problem nie występuje i Slow SCK przełącza się na "brak" - programowanie jest normalne.
  • REKLAMA
  • #5 20504498
    bart-projects
    Poziom 29  
    Programatorów do AVR mam nieskromnie "kilka". Tu chodzi o to by jednym uaktualnić drugi (to dziłała dla progów z tej samej rodziny bo np KAMPROG jest zbudowany na ARM STM).
    Uaktualnij oprogramowanie USBAasp jakimś innym. Proponuje użyć softu ze strony którą wcześniej linkowałem - to na początek.Jak bedziesz miał juz rozeznanie to zrobisz cos więcej.
  • REKLAMA
  • #6 20504513
    Marcinolak xD
    Poziom 12  
    Wszystko uaktualniłem. Problem dalej występuje.
    Sprawdzę jak całość zachowuje się na innym komputerze.
  • #7 20504520
    bart-projects
    Poziom 29  
    Nie wiem co dalej "jest problemem", ale tylko Ty masz ten jeden wadliwy uC i pięć niewadliwych i Ty masz, mam nadzieję, multimetr. Do programowania uzywa się tylko sześciu pinów. Czy próbowałeś zmierzyć multimetrem róznice w opornościach pomiędzy tym poprawnym a tym który nie działa zanim napisałeś post? Ja bym tak zrobił. Dwie minuty roboty. Krócej niż napisanie posta.
  • #8 20504529
    Marcinolak xD
    Poziom 12  
    Fakt. Mój błąd. Nie napisałem, że problem z wyłączającym się SCK złym doborem tej wartości występuje na wszystkich mikrokontrolerach.
    Jedyny problem z tym "wadliwym" polega na tym że TL866II plus nie wykrywa sygnatury i wyrzuca błędy przy weryfikacji. Przy usbasp zachowuje się dokładnie tak jak te sprawne.

    Dodano po 34 [minuty]:

    EDIT
    Sprawdzałem już wcześniej na poprzednim jak i na innym komputerze. Program notorycznie ustawia Slow SCK na 4kHz przy taktowaniu 1MHz.
    (Tylko przy 1MHz - przy 8 czy 16 Slow SCK wyłącza się). Po manualnej zmianie na 187.5kHz wszystko działa szybko i sprawnie. Pytanie tylko dlaczego program nie ustawia sobie tego sam.
    Owszem jest to pierdół, ale zastanawiający.
    *Testowane na sprawnej Atmedze. Tamta miała 150Ω między MOSI a GND, więc część tematu z niesprawnym µC do zamknięcia.
REKLAMA