Czat

2024-01-26, 14:09:11
admin: forum pod tym linkiem: https://k5.2je.eu/index.php?action=forum

2024-01-26, 13:55:37
admin: Witam


Welcome to Quansheng UV-K5 Modding Fan Forum. Please login or sign up.

Maj 09, 2025, 17:50

Login with username, password and session length

Recent

Wgrywanie i odczyt firmware w ats20+ przy pomocy kabla miniUSB i programu AV

Zaczęty przez admin, Sie 29, 2024, 10:39

Poprzedni wątek - Następny wątek

admin

Dziś opiszę sposób na wgrywanie lub odczyt firmware przy użyciu zwykłego kabelka mini USB i złącza dostępnego z tyłu radia. A więc coś dla osób które boją się rozkręcać radio i podłączać do pinów w arduino lub nie mogą tego zrobić z jakiś powodów sprzętowych. Wadą tego rozwiązania jest, że nie zawsze zadziała, zależy od firmware który mamy wgrany prawdopodobnie przez bootloadera i czasami muszę wgrywać przez kontroler asp. Standardowy fabryczny firmware powinien być obsługiwany, goshante również. 

Co potrzebujemy:
Dowolny kabel mini usb z transmisją danych (np. ze starej nawigacji, zestawu z arduino, aparatu itp.) 

Podłączamy kabel mini usb do radia oraz komputera.
Wchodzimy w manager urządzeń Windowsa by sprawdzić czy kabel jest widoczny w systemie i czy został przypisany port COM.
Rozwijamy sekcje porty com i lpt.
Szukamy urządzenia serial ch340.
W moim przypadku przypisany został COM25
miniusb-com.jpg

Sprawa podłączenia załatwiona. Czas na program AVRDUDESS. Jak nie mamy to pobieramy:
https://github.com/ZakKemble/AVRDUDESS/releases/tag/v2.17

- Uruchamiamy program AVRDUDESS
- Wybieramy z rozwijanej listy programator, w przypadku kabla mini usb i arduino nano ma to być: Ardiuno for bootloader using STK500 v1 procotol
- ustawiamy przepływność czy prędkość połączenia 57600 (w moim przypadku 115200 też działało)
avrdudess-config-com-miniusb.png


Niezbędne już mamy więc sprawdźmy komunikację, obok mamy pola mikrokontroler wciskamy przycisk wykryj Radio powinno się zrestartować i pojawić wynik.

>>>: avrdude.exe -c arduino -P COM25 -b 57600 -p m8
Wykryto: 1e950f = ATmega328P
ATS_EX_v1.18.hex: 32 658 / 32 768 Bytes (99,66%)
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Jak wszystko gotowe możemy zacząć używać programu.
Na początek możemy zapisać kopię posiadanego oprogramowania.
W polu Flash zaznaczamy opcję Read czyli czytaj
klikamy przycisk z trzema kropkami i wymyślamy jakąś nazwę dla pliku w którym zostanie zapisany soft, po tej czynności ścieżka do pliku sama się uzupełni.
Wybieramy format pliku, ja używam Intel Hex.
Klikamy na Start i po restarcie radia procedura odczytu powinna się rozpocząć.
Przykładowy log:
>>>: avrdude.exe -c arduino -p m328p -P COM25 -b 57600 -U flash:r:"C:\Users\Admin\Downloads\kopia-softu.hex":i
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e950f (probably m328p)

avrdude: processing -U flash:r:C:\Users\Admin\Downloads\kopia-softu.hex:i
avrdude: reading flash memory ...
Reading | ################################################## | 100% 7.05s
avrdude: writing output file C:\Users\Admin\Downloads\kopia-softu.hex

avrdude done.  Thank you.

Jeżeli potrzebujemy kopii epromu to analogiczne postępujemy w polu EPROM

Teraz główny gwóźdź programu wgrywamy nowy firmware.
Zrobimy to na przykładzie najbardziej polecanego softu goshante.
Pobieramy plik hex z:
https://github.com/goshante/ats20_ats_ex/releases/tag/v1.18
W programie avrdudess w polu flash zaznaczamy opcję Write czyli zapisz.
klikamy przycisk z trzema kropkami i wskazujemy pobrany plik z softem, po tej czynności ścieżka do pliku sama się uzupełni.
Format można ustawić na Auto(tylko zapis).
Klikamy przycisk Start i po restarcie firmware powinno zostać wgrane.
Log będzie wyglądał tak:
avrdudess-config-com-miniusb.png

Jeżeli to nie działa użyj alternatywnej metody z programatorem ICSP
https://k5.2je.eu/index.php?topic=81.0
Metoda ta zadziała też w przypadku uceglenia lub uszkodzenia bootloadera.

darcus

Dzień dobry,
chce prosić Was Panowie o pomoc w rozwiązaniu problemu dotyczącego ładowania firmwar'u by Goshante  ATS_EX_v1.18 do wyżej wymienionego odbiornika ATS 20+.  Jest w nim sporo ciekwaych i użytcznych zmian.
Załadowałem firmware do odbiornika zgodnie ze wskazówkami zawartymi w instrukcji twórcy tego oprogramowania. Sterowniki właściwe, port zgłasza swoją aktywność bez problemu.
Wszytko poszło gładko (no prawie), na wyświetlaczu pojawiły się informacje o nowym fw, prawidłowo wszystko mieści się na wyświetlaczu tak jak w prezentowanej instrukcji.
Jest jednak problem. Można przeglądać wszystkie opcje zmian nowego oprogramowania tylko kiedy odbiornik jest podłaczony kablem do komputera. Niestety po odłaczeniu go, wyświetlacz wygasa. Restart niestety nie pomaga, radio się włacza i owszem, słychać charakterystyczne tykniecie w głośniku, słychać szum, świeci czerwona diodka na płytce ale wyświetlacz nic nie pokazuje.
Procedurę flashowania wykonywałem na AVRDUDES.
Komunikat zwrotny po flashowaniu...
>>>Warning: flash verification mismatch
  device 0xff != input 0x0c at addr 0x7800 (error)
Error: flash verification mismatch>>>>
Czy jest możliwość naprawienia tego błędu ?

admin

Witam, na wstępie sprawdź sprawdź czy bateria nie jest zbyt rozładowana, dalej możesz spróbować wykonać reset pamięci EEprom, w tym celu na wyłączonym radiu wciśnij i trzymaj klawisz dekodera i włącz trzymając, powinna pojawić się stosowna informacja.(działa to tylko na sofcie Goshante) 

darcus

Tak, bateria przed ładowaniem fw była full, a reset EEprom niestety nie zadziałał. Wyswietlacz niestety cały czas ciemny. Tylko po podłaczeniu przewodem USB B do gniazda komputera wyświetlacz działa. Dziwna sytuacja, bo wtedy pojwia się informacja o obecności fw goshante na pokładzie radioodbiornika.
W każdym bądź razie dziekuję za wskazówki.

admin

No trochę dziwna sytuacja, bo z jednej strony trochę działa z drugiej błąd weryfikacji jakby się nie do końca udała, pytania dodatkowe czy próbowałeś ponownie wgrać i czy taka sama sytuacja i czy próbowałeś z innymi softami oryginalny czy jakikolwiek dowolny mod czy działa ? i czy dioda świeci w środku na czerwono, w arduino?

darcus

Tak, próbowałem 3 razy bardzo uważnie sprawdzając wszystkie papametry w AVRDUDES. Dioda na płytce Arduino świeci się. Próbowałem wgrać alternatywny fw, ten sam problem. Myslę że bez programatora AVR ATMEGA USBASP ISP się nie obejdzie. Szukam już jakiejś jasnej instrukcji jak skonfigurować ustawienia w aplikacji ARDUINO IDE.

admin

Nie wiem czy da sie wgrywać z arduino ide po com-ie ja używam przez USBASP. Ale jak byś coś znalazł daj cynk może się przyda.
Po com-ie był jeszcze jakiś mini programik do fleszowania Xloader ale mi coś nie działał albo nie potrafiłem go skonfigurować.
W AVRDUDES możesz jeszcze spróbować ustawić Profile na ArduiniUno na jakimś filmiku widziałem, że tak należy ustawiać bo się nie wgra.