Wgrywanie firmware do ATS Mini
Której z trzech wersji firmware potrzebuje twoje ATS Mini, jak odróżnić płytkę OSPI od QSPI i cztery sposoby na wgranie — zaczynając od instalatora na tej stronie.
Każde wydanie firmware ATS Mini to trzy archiwa, a tylko jedno z nich pasuje do twojego radia. Nic w samych obrazach nie mówi, które jest które, więc to właśnie wybór jest tą częścią, którą warto zrobić dobrze — samo wgranie jest łatwiejsze. Instalator firmware na tej stronie odczytuje odpowiedź prosto z układu, a niepasujące archiwum zostaje odrzucone, chyba że świadomie to obejdziesz; ta strona tłumaczy, co dokładnie sprawdza i jak zrobić to samo ręcznie.
Trzy archiwa, jedno twoje
Wydanie publikuje archiwum ospi, archiwum qspi i archiwum lilygo-t-embed. Każde rozpakowuje się do jednego katalogu o nazwie ats-mini-v<wersja>-<wariant> — na przykład ats-mini-v2.38-ospi. Ta nazwa katalogu jest jedynym pewnym oznaczeniem tego, co jest w środku.
I musi nim być, bo same obrazy prawie się nie różnią. Bootloader i tablica partycji są bajt w bajt identyczne we wszystkich trzech archiwach — sprawdzono to tutaj, porównując ich sumy kontrolne. Zmienia się wyłącznie ats-mini.ino.bin, czyli obraz aplikacji, i zmienia się o jakieś 2 kB konfiguracji sterownika PSRAM. Na tym polega cała różnica między wersjami — i dlatego luźnego pliku .bin oderwanego od swojego katalogu nie da się już powiązać ze sprzętem, dla którego powstał.
Archiwum lilygo-t-embed nie jest trzecim wariantem pamięci. Jest zbudowane dla LILYGO T-Embed SI4732, czyli innego odbiornika. Projekt firmware ostrzega, że wgranie go do ATS Mini może uszkodzić odbiornik, więc traktuj to archiwum jak cudze.
OSPI czy QSPI: jak je rozróżnić
Dwie wersje dla ATS Mini różnią się tylko sposobem podłączenia pamięci PSRAM w module ESP32-S3: octal (OSPI), 8 MB albo quad (QSPI), 2 MB. Poza tym ta sama płytka, ten sam układ odbiorczy, ten sam wyświetlacz — i nic z zewnątrz ich nie odróżnia. Pytanie pada na tyle często, że w projekcie firmware istnieje osobny wątek dyskusji zatytułowany „OSPI vs QSPI: How can I see what I have?”.
Instalator robi to w drugim kroku: odczytuje pojemność pamięci PSRAM z eFuse układu i nazywa wersję, której potrzebuje płytka. Żeby sprawdzić ręcznie, uruchom esptool flash-id (na esptool 4.x flash_id) i przeczytaj linię Features:. Odczyt 8 MB znaczy OSPI, odczyt 2 MB znaczy QSPI. Pierwszy kierunek pochodzi od samego opiekuna firmware’u, z dyskusji #174 projektu: „Embedded PSRAM 8MB … is only available via OSPI”; drugi sprawdzono na radiu z pamięcią QSPI przy pisaniu tej strony — kod pojemności 2, zgłoszony jako Embedded PSRAM 2MB. Czytaj pojemność, nigdy producenta: ten sam ciąg (AP_3v3) pojawia się i przy 8 MB, i przy 2 MB, więc nie mówi nic o tym, której wersji potrzebujesz.
Jest jeszcze trzeci sposób, ale tylko po fakcie: na radiu, które się uruchamia, Menu → Settings → About pokazuje wartość PSRAM, a ta wartość jest niezerowa wtedy, gdy działająca wersja pasuje do sprzętu. Świetne do potwierdzenia, że trafiłeś; zupełnie bezużyteczne przy wybieraniu, bo wymaga działającego firmware’u.
Wgrywanie z tej strony
Instalator firmware zapisuje firmware do radia przez kabel USB, prosto z przeglądarki, bez instalowania czegokolwiek. Potrzebuje tej samej przeglądarki opartej na Chromium co sam kontroler i kabla USB-C z transmisją danych — zobacz Podłączanie ATS Mini. Pięć kroków:
- Połącz przez USB. Wybierasz port radia w oknie wyboru przeglądarki. Jeśli kontroler jest już połączony przez USB, to połączenie zostaje zamknięte, a port przekazany instalatorowi.
- Rozpoznaj sprzęt. Aplikacja odczytuje układ i pojemność jego pamięci PSRAM, po czym nazywa wersję, której potrzebuje ta płytka. Na tym kroku opiera się cała reszta.
- Pobierz pasujące wydanie. Lista wydań pobierana na żywo z projektu firmware, z zaznaczonym archiwum pasującym do twojej płytki i oznaczonymi tymi, które nie pasują.
- Wczytaj i sprawdź obraz. Wrzucasz pobrane archiwum z powrotem. Aplikacja odczytuje wersję i wariant z nazwy katalogu i porównuje je z tym, co ustalił krok 2. Niezgodność zostaje odrzucona, chyba że świadomie ją obejdziesz.
- Zrób kopię, potem zapisz. Najpierw odczyt kopii obecnej zawartości pamięci, potem wybór między trzema plikami a obrazem scalonym, akceptacja ryzyka i zapis.
Archiwum jest czytane w przeglądarce i nigdzie nie trafia. Przez Bluetooth nie da się zrobić nic z tego: bootloader ESP32-S3 jest dostępny wyłącznie przez łącze szeregowe USB, więc radio musi wisieć na kablu.
Dwie rzeczy do zrobienia po zakończeniu zapisu
Żadna nie jest opcjonalna, a pominięcie drugiej wygląda dokładnie jak nieudany zapis: radio działa, a aplikacja go nie widzi.
- Wyłącz i włącz radio. Instalator po zakończeniu zapisu prosi układ o samodzielny restart, ale ta prośba idzie linią sterującą, którą płytka musi mieć podłączoną — a nie każda ma. Tam, gdzie nie jest podłączona, prośba i tak kończy się powodzeniem, a radio po prostu zostaje na programatorze, dopóki go nie wyłączysz. Ciemny ekran po zapisie nie oznacza nieudanego zapisu.
- Ustaw na radiu ponownie USB Port → Ad hoc. Od firmware’u 2.34 interfejs zdalny USB jest domyślnie wyłączony. Zapis scalony zawsze kasuje to ustawienie, a trzyplikowy może je skasować. Dopóki go nie włączysz z powrotem, radio całkowicie ignoruje aplikację — zobacz Podłączanie ATS Mini.
Oba te zachowania zaobserwowano na prawdziwym radiu przy pisaniu tej strony, na płytce bez podłączonej linii resetu.
Co i gdzie trafia
W archiwum jest CHANGELOG.md i cztery obrazy. Wgrywasz albo pierwsze trzy pod ich własnymi adresami, albo sam czwarty — nigdy jedno i drugie.
| Plik | Adres w pamięci flash | Co to jest |
|---|---|---|
ats-mini.ino.bootloader.bin | 0x0 | Bootloader |
ats-mini.ino.partitions.bin | 0x8000 | Tablica partycji |
ats-mini.ino.bin | 0x10000 | Sam firmware |
ats-mini.ino.merged.bin | 0x0 | Trzy powyższe połączone w jeden obraz |
Ten wybór to nie tylko kwestia wygody. Obraz scalony ma 8 MB, z czego około 6,3 MB to wypełnienie — właściwych danych jest jakieś 1,7 MB. Zapis obejmuje całą kość pamięci, łącznie z obszarem, w którym radio trzyma swoje ustawienia, więc zapis scalony zawsze je kasuje. Zapis trzech plików przesyła tylko właściwe dane, mniej więcej 1,7 MB, i nie rusza niczego poza tymi trzema obszarami, więc twoje ustawienia zwykle przeżywają.
„Zwykle” to uczciwe słowo i jest to też słowo źródła: dokumentacja firmware mówi, że przy trzech plikach ustawienia odbiornika mogą zostać skasowane w niektórych wersjach. Traktuj ich przetrwanie jako premię, a nie gwarancję, i zapisz sobie to, czego nie chciałbyś wprowadzać drugi raz.
Bez tej strony
Projekt firmware opisuje trzy własne drogi i wszystkie trzy oczekują tych samych plików pod tymi samymi adresami. Skorzystaj z jednej z nich, jeśli wolisz pracować narzędziem, którego używają autorzy firmware’u — a z dwóch ostatnich, jeśli twoja przeglądarka w ogóle nie ma Web Serial.
- esptool-js, w przeglądarce
- Własny programator webowy Espressifa pod adresem
espressif.github.io/esptool-js. Połącz, dodaj pliki pod ich adresami, naciśnij Program i poczekaj naLeaving... Hard resetting via RTS pin...w logu. Windows, macOS i Linux; tylko przeglądarki oparte na Chromium, czyli takie samo ograniczenie jak tutaj. - Flash Download Tool, na Windowsie
- Narzędzie desktopowe Espressifa. Chip Type ESP32-S3, WorkMode Develop, LoadMode UART; dodaj pliki, zaznacz pole przy każdym z nich, ustaw port COM i naciśnij START. Koniec następuje, gdy w logu pojawi się
is stub and send flash finish. - esptool.py, z wiersza poleceń
- Jedno polecenie z
--chip esp32s3i--baud 921600, a za nim adresy i nazwy plików. Dokumentacja firmware’u podaje gotową linię i dla trzech plików, i dla obrazu scalonego.
Niezależnie od wybranego narzędzia wyłącz potem radio i włącz je z powrotem, a następnie sprawdź wersję w Menu → Settings → About — i przy okazji tę niezerową wartość PSRAM.
Zanim cokolwiek zapiszesz
- Zrób kopię zapasową. To jedyna droga powrotu do firmware’u, który radio ma teraz, a zrobić ją można tylko póki radio działa. Opisuje to Kopia zapasowa i odzyskiwanie firmware.
- Użyj kabla z transmisją danych i pilnuj zasilania. Przerwany zapis to ta awaria, która zamienia pięciominutową robotę w odzyskiwanie.
- Sprawdź, czy na płytce są przyciski BOOT i RESET — zanim zaczniesz, nie po fakcie. Z nimi zmuszenie radia do słuchania programatora to sekwencja dwóch przycisków; bez nich jest znacznie mniej przyjemnie.
- Nie wgrywaj archiwum T-Embed do ATS Mini.
Co nowa wersja faktycznie dla ciebie zmienia, opisują Wersje firmware — próg 2.34 dla Bluetootha i szybkiego strojenia oraz zakres pasma CB, który po jego przekroczeniu robi się węższy. Jeśli rozważasz coś innego niż oficjalny firmware, zacznij od poradnika Alternatywny firmware.
Polecane akcesoria
Najczęściej zadawane pytania
- Skąd mam wiedzieć, czy moje ATS Mini potrzebuje firmware OSPI czy QSPI?
- Decyduje pamięć PSRAM w module ESP32-S3. Odczyt 8 MB oznacza wersję OSPI, a odczyt 2 MB wersję QSPI; oba kierunki sprawdzono na prawdziwych radiach. Czytaj pojemność, a nie producenta, bo ten sam ciąg pojawia się przy obu rozmiarach. Instalator na tej stronie odczytuje pojemność z układu i mówi, na którą wersję ona wskazuje. Ręcznie: uruchom esptool flash-id, a na esptool 4.x flash_id, i przeczytaj linię Features. Na radiu, które się uruchamia, Menu → Settings → About pokazuje niezerową wartość PSRAM wtedy, gdy działająca wersja pasuje do sprzętu.
- Czy da się poznać, dla którego wariantu jest dany plik .bin?
- Nie. Bootloader i tablica partycji są bajt w bajt identyczne we wszystkich trzech archiwach wydania, a obraz aplikacji różni się tylko o jakieś 2 kB konfiguracji PSRAM. Nazwa katalogu w archiwum wydania, na przykład ats-mini-v2.38-ospi, jest jedynym pewnym oznaczeniem — dlatego luźnego pliku .bin oderwanego od tego katalogu żadne narzędzie nie porówna z twoim sprzętem.
- Czy wgranie nowego firmware skasuje moje komórki pamięci i ustawienia?
- Obraz scalony zawsze je kasuje: obejmuje całą kość pamięci, łącznie z obszarem, w którym radio trzyma ustawienia. Zapis trzech plików przesyła tylko bootloader, tablicę partycji i firmware, więc ustawienia zwykle przeżywają — ale dokumentacja firmware zaznacza, że w niektórych wersjach mimo to mogą zostać skasowane, więc traktuj to jako prawdopodobne, a nie pewne.
- Jakie są adresy do wgrania firmware ATS Mini?
- Bootloader idzie pod 0x0, tablica partycji pod 0x8000, a sam firmware pod 0x10000. Obraz scalony, który zawiera wszystkie trzy, idzie sam pod 0x0. Wgrywa się albo trzy osobne pliki, albo obraz scalony, nigdy jedno i drugie.
- Do czego służy archiwum lilygo-t-embed?
- Do odbiornika LILYGO T-Embed SI4732, który jest osobnym urządzeniem, a nie trzecim wariantem pamięci w ATS Mini. Projekt firmware ostrzega, że wgranie go do ATS Mini może uszkodzić odbiornik, więc nigdy nie należy go tam używać.
- Czy muszę coś instalować, żeby wgrać firmware do ATS Mini?
- Nie. Instalator na tej stronie i esptool-js od Espressifa działają w przeglądarce przez kabel USB i nie wymagają instalacji. Są też narzędzia desktopowe — Flash Download Tool na Windowsie i esptool.py z wiersza poleceń — które zapisują dokładnie te same pliki pod dokładnie tymi samymi adresami.