AVR Lab++
: 15 lut 2018, 19:30
Nieco natchniony dyskusją z Haulerem w sprawie problemów z uC w TBS Mini i programowaniem go, postanowiłem w końcu napisać swój program do obsługi programowania uC z rodziny ATmega i ATtiny.
Program napisany w C sharp (C#) wykorzystujący avrdude do komunikacji z AVR.
Program jest jeszcze w wersji produkcyjnej, dorabiam jeszcze kilka rzeczy, ale 90% można powiedzieć, że jest już gotowe. Muszę jeszcze uzupełnić w bazie część danych dla uC ATtiny.
Na pierwszym ekranie, po odczytaniu uC podłączonego poprzez wybrany programator, widać parametry danego uC dotyczące pamięci, interfejsów, pinów itp., można niezależnie wybrać inny uC z listy aby sprawdzić jego parametry.
Na drugiej zakładce są ustawienia fuse bitów.
I tu ważna rzecz, aby nie zablokować uC, bity RSTDISBL (blokada pinu reset) i SPIEN (możliwość programowania przez SPI) są nieattywne i nie można ich zmienić aby przypadkowo nie wgrać błędnie ustawionych fuse bitów, co prowadzi do braku możliwości odczytu i programowania uC poprzez standardowe programatory i trzeba użyć programowania w trybie HVPP lub HVSP (high voltage) a do tego trzeba mieć specjalne urządzenie. Oczywiście można jeszcze zablokować uC poprzez ustawienie Low bitów na taktowanie z inną częstotliwością, ale tu już jest łątwiej, bo wystarczy na pin uC podac sygnał z generatora o ustawionej częstotliwości i uC da się odczytać i zaprogramować ustawiając prawidłowe fuse bity.
Po prawej stronei ekranu mam wyświetlone wartości fuse bitów odczytane z uC (pierwsza kolumna) i fabryczne w prawej kolumnie. Zmieną fuse bitów można dokonać klikając w pola w lewj kolumnie i wpisując żądane wartości, po czym należy nacisnąć Ustaw pod spodem i wtedy przy odpiwednich fuse bitach zostaną ustawione "ptaszki" oznaczające wartości danych bitów. Mozna również bezpośrednio zaznaczać "ptaszki" myszką i wtedy wartość fuse bitów zostaje automatycznie przeliczona w polach po prawej. Jeżeli chcemy ustawić fabryczne, wystarczy kliknąć prawy przycisk Ustaw.
Przycisk Zapisz do AVR spowoduje zapisanie wszystkich fuse bitów i jeżeli operacja zkończy się pomyślnie, i ponowny odczyt fuse bitów.
Zakładka fals służy do zgrywania i wgrywania plików hex z i do uC.
W przypadku potrzeby zgrania aktualnego programu z uC, trzeba wybrać nazwę pliku do którego zostanie zapisany hex i wcisnąć przycisk Pobierz z AVR.
Wgrywanie jest analogiczne, tym razem należy wybrać plik hex do wgrania. Pod spodem wyświetli się rozmiar wgrywanego pliku oraz procentowy wskaźnik zajętości programu w pamięci uC. Jeżeli rozmiar pliku przekroczy wartość pamięci, nie bezie możliwe jego wgranie.
Program testuję od tygodnia i na ten moment nie udało mi sie zrobić krzywdy różnym uC które posiadam.
Będę wdzięczny za testy programu i wszelkie zauważone błędy oraz uwagi co do funkcjonalności
Obecnie jestem w trakcie dodawania :
- obsługi lock bitów
- obsługi pamięci epprom uC - wgrywanie plików *.epp
- wyboru dodatkowych opcji programowania (kasowanie pamieci itp.)
Program do pobrania poniżej :
Jest to wersja portable, a więc nie wymaga instalacji, wystarczy rozpakować i uruchomić "AVR Lab.exe"
Pozdr
Program napisany w C sharp (C#) wykorzystujący avrdude do komunikacji z AVR.
Program jest jeszcze w wersji produkcyjnej, dorabiam jeszcze kilka rzeczy, ale 90% można powiedzieć, że jest już gotowe. Muszę jeszcze uzupełnić w bazie część danych dla uC ATtiny.
Na pierwszym ekranie, po odczytaniu uC podłączonego poprzez wybrany programator, widać parametry danego uC dotyczące pamięci, interfejsów, pinów itp., można niezależnie wybrać inny uC z listy aby sprawdzić jego parametry.
Na drugiej zakładce są ustawienia fuse bitów.
I tu ważna rzecz, aby nie zablokować uC, bity RSTDISBL (blokada pinu reset) i SPIEN (możliwość programowania przez SPI) są nieattywne i nie można ich zmienić aby przypadkowo nie wgrać błędnie ustawionych fuse bitów, co prowadzi do braku możliwości odczytu i programowania uC poprzez standardowe programatory i trzeba użyć programowania w trybie HVPP lub HVSP (high voltage) a do tego trzeba mieć specjalne urządzenie. Oczywiście można jeszcze zablokować uC poprzez ustawienie Low bitów na taktowanie z inną częstotliwością, ale tu już jest łątwiej, bo wystarczy na pin uC podac sygnał z generatora o ustawionej częstotliwości i uC da się odczytać i zaprogramować ustawiając prawidłowe fuse bity.
Po prawej stronei ekranu mam wyświetlone wartości fuse bitów odczytane z uC (pierwsza kolumna) i fabryczne w prawej kolumnie. Zmieną fuse bitów można dokonać klikając w pola w lewj kolumnie i wpisując żądane wartości, po czym należy nacisnąć Ustaw pod spodem i wtedy przy odpiwednich fuse bitach zostaną ustawione "ptaszki" oznaczające wartości danych bitów. Mozna również bezpośrednio zaznaczać "ptaszki" myszką i wtedy wartość fuse bitów zostaje automatycznie przeliczona w polach po prawej. Jeżeli chcemy ustawić fabryczne, wystarczy kliknąć prawy przycisk Ustaw.
Przycisk Zapisz do AVR spowoduje zapisanie wszystkich fuse bitów i jeżeli operacja zkończy się pomyślnie, i ponowny odczyt fuse bitów.
Zakładka fals służy do zgrywania i wgrywania plików hex z i do uC.
W przypadku potrzeby zgrania aktualnego programu z uC, trzeba wybrać nazwę pliku do którego zostanie zapisany hex i wcisnąć przycisk Pobierz z AVR.
Wgrywanie jest analogiczne, tym razem należy wybrać plik hex do wgrania. Pod spodem wyświetli się rozmiar wgrywanego pliku oraz procentowy wskaźnik zajętości programu w pamięci uC. Jeżeli rozmiar pliku przekroczy wartość pamięci, nie bezie możliwe jego wgranie.
Program testuję od tygodnia i na ten moment nie udało mi sie zrobić krzywdy różnym uC które posiadam.
Będę wdzięczny za testy programu i wszelkie zauważone błędy oraz uwagi co do funkcjonalności
Obecnie jestem w trakcie dodawania :
- obsługi lock bitów
- obsługi pamięci epprom uC - wgrywanie plików *.epp
- wyboru dodatkowych opcji programowania (kasowanie pamieci itp.)
Program do pobrania poniżej :
Jest to wersja portable, a więc nie wymaga instalacji, wystarczy rozpakować i uruchomić "AVR Lab.exe"
Pozdr