@ElektrodaBot Jak sflashować BL602 za pomocą OpenBK AI: Jakiego sprzętu lub metody połączenia używasz do podłączenia BL602 do komputera (np. adapter USB do szeregowego, specjalna płytka dev)? USB do szeregowego AI: Jakiego systemu operacyjnego używasz (Windows, Linux lub macOS)? Ubuntu - Linux
@ElektrodaBot jak flashować bl602 z openbk AI: Jakiego sprzętu lub metody połączenia używasz do podłączenia BL602 do komputera (np. adapter USB do szeregowego, specjalna płytka deweloperska)? usb do se...
Wstępna ocena dostępnych informacji - Jesteś na Ubuntu i będziesz używał adaptera USB-serial. BL602 może być niezawodnie flashowany przez UART, jeśli prawidłowo przypniesz BOOT (GPIO8) i użyjesz odpowiednich pinów UART i szybkości transmisji. - Prawidłowy pasek rozruchowy dla trybu flashowania BL602 to: GPIO8 w stanie HIGH (do 3,3 V) podczas resetowania/włączania zasilania. Kilka przewodników online błędnie mówi "BOOT to GND" (to prawda dla niektórych części Espressif, nie dla BL602). W BL602 bootloader ROM nasłuchuje na UART0 z RX na GPIO7 i TX na GPIO16. ( lupyuen.github.io ) - Projekt OpenBeken publikuje gotowe do flashowania obrazy BL602 w każdym wydaniu. Od 2025-10-05 najnowszym jest 1.18.188 z zasobami "OpenBL602_1.18.188.bin" (UART flash) i "OpenBL602_1.18.188_OTA.bin.xz.ota" (OTA). ( github.com ) - W przypadku narzędzi do flashowania w systemie Linux, CLI Bouffalo "bflb-mcu-tool" jest aktualne i utrzymywane na PyPI; "blflash" (Rust) również działa, jeśli wolisz. BLDevCube GUI jest kolejną opcją. ( pypi.org )
Bezpośrednia odpowiedź na pytanie Poniżej znajduje się minimalna, działająca procedura flashowania OpenBeken (OpenBK) na BL602 przez USB-to-serial na Ubuntu:
2) Przełącz BL602 w tryb flashowania - Przy wyłączonym zasilaniu, podłącz GPIO8 do 3,3 V (utrzymuj wysoki poziom), a następnie włącz zasilanie lub zresetuj. ( lupyuen.github.io )
4) Pobierz OpenBeken dla BL602 - Pobierz najnowszy "OpenBL602_....bin" z wydań projektu (zasób UART Flash). ( github.com )
5) Flash - Typowa szybka próba: bflb-mcu-tool --chipname bl602 --port /dev/ttyUSB0 --baudrate 2000000 --firmware OpenBL602_x.y.z.bin - Jeśli pojawi się komunikat "Not ack OK/timeout", spróbuj ponownie z niższą prędkością transmisji, np. --baudrate 115200 lub 200000. ( pine64.github.io )
6) Pierwsze uruchomienie - Usuń pasek BOOT (GPIO8 nie będzie już wymuszać stanu wysokiego) i włącz zasilanie. Urządzenie powinno uruchomić OpenBeken i utworzyć AP jak OpenBL602_XXXX; połącz się i przeglądaj 192.168.4.1, aby skonfigurować Wi-Fi. ( coreforge.com )
Jeśli wolisz, możesz użyć BLDevCube GUI (kompilacja Linux) z Interface=UART i 2 Mbps jako zalecaną prędkością; wiele adapterów działa bardziej niezawodnie przy 115200-200000 bodów. ( pine64.github.io )
Szczegółowa analiza problemu - Boot strap i piny UART - ROM loader w BL602 używa UART0 na GPIO7 (RX) i GPIO16 (TX). Dlatego adaptery podłączone do "typowych" pinów, takich jak GPIO14/15, nie będą rozmawiać z boot ROM podczas flashowania. Należy zapewnić krosowanie: adapter TX → GPIO7, adapter RX → GPIO16. ( lupyuen.github.io ) - Wejście do programu ładującego wymaga BOOT (GPIO8) HIGH przy resetowaniu / włączaniu; kilka płyt producentów ujawnia to jako zworkę "IO8 H / L". Utrzymuj go na wysokim poziomie, a następnie zresetuj. ( lupyuen.github.io )
- Narzędzia - bflb-mcu-tool (PyPI) odzwierciedla przepływ flashowania MCU DevCube w wierszu poleceń i jest aktywnie utrzymywany (v1.10.x w 2025 r.). Zacznij od 2 Mbps, jeśli twój adapter jest znany jako dobry; w przeciwnym razie cofnij się. ( pypi.org ) - BLDevCube (GUI) to oficjalne narzędzie Bouffalo; dokumenty Pine64 pokazują przepływ pracy UART. Domyślnie jest ustawiona na 2 Mbps i może być powolna w uruchamianiu; jeśli pojawią się błędy UART, zmniejsz do 115200-200000. ( pine64.github.io ) - blflash (Rust) jest szeroko stosowany przez programistów; błyska przygotowanym obrazem przez UART i obsługuje ustawianie oddzielnych początkowych i głównych szybkości transmisji. ( github.com )
- Wybór i adresowanie obrazu - Użyj OpenBeken "BL602 UART Flash" .bin z Releases. Jest on przygotowany do standardowego przepływu flashowania UART; nie trzeba ręcznie kompilować Boot2/partition/DTS. ( github.com ) - Jeśli korzystasz z zaawansowanych stron BLDevCube, upewnij się, że konfiguracja partycji odpowiada rozmiarowi pamięci flash (większość konsumenckich urządzeń BL602 ma 2 MB; użycie nieprawidłowej tabeli może uniemożliwić uruchomienie). Jeśli nie masz pewności, najpierw wykonaj kopię zapasową. ( elektroda.com )
- Rzeczywista prędkość transmisji - Dokumenty zalecają 2 Mbps, ale w praktyce tanie adaptery CH340/CP2102 i długie przewody mogą zrzucać pakiety. Jeśli otrzymujesz "Not ack OK" lub ponawiasz próby, spróbuj 115200-200000 bodów; jest wolniejszy, ale niezawodny. ( pine64.github.io )
- Zasilanie - Zapewnij stabilne zasilanie 3,3 V. Niektóre adaptery nie są w stanie dostarczyć wystarczającej ilości prądu do uruchomienia Wi-Fi; użyj odpowiedniego LDO 3,3 V, jeśli zauważysz brunatne przerwy (pętle rozruchowe po uruchomieniu AP). ( elektroda.com )
Bieżące informacje i trendy - Najnowsza wersja OpenBeken (stan na 2025-10-05): 1.18.188 z zasobami BL602 "OpenBL602_1.18.188.bin" (UART) i "..._OTA.bin.xz.ota" (OTA). ( github.com ) - bflb-mcu-tool na PyPI pokazuje aktywne aktualizacje w 2025 roku (1.10.x). ( pypi.org )
Wspierające wyjaśnienia i szczegóły - Dlaczego BOOT=HIGH? - BL602 ROM sprawdza GPIO8 podczas resetowania, aby wybrać ISP/loader. WYSOKI wybiera flashowanie UART, NISKI kontynuuje normalny rozruch. Z tego powodu EVB producentów mają zworkę IO8 "H/L". ( lupyuen.github.io ) - Dlaczego GPIO7/16? - Domyślne drzewo urządzeń/konfiguracja ROM mapuje UART0 RX/TX na GPIO7/GPIO16 z wysoką prędkością transmisji; tego oczekuje program ładujący, zanim oprogramowanie układowe cokolwiek przemapuje. ( lupyuen.github.io )
Praktyczne wskazówki (Ubuntu walkthrough) 1) Uprawnienia - Dodaj siebie do grupy serial i zaloguj się ponownie: sudo usermod -a -G dialout $USER - Zidentyfikuj adapter: dmesg | grep -i tty ls -l /dev/ttyUSB*
2) Zainstaluj narzędzie i pobierz firmware - python3 -m pip install --user bflb-mcu-tool - Pobierz OpenBL602_x.y.z.bin ze strony Releases (zasób BL602 "UART Flash"). ( pypi.org )
3) Podłącz i wejdź w tryb flashowania - GND, 3V3, TX↔RX (TX→GPIO7, RX→GPIO16), BOOT (GPIO8) → 3.3 V. - Włączenie zasilania lub naciśnięcie przycisku resetowania przy utrzymywanym wysokim poziomie BOOT. ( elektroda.com )
5) Pierwsze uruchomienie - Usuń pasek BOOT, włącz zasilanie. - Połącz się z AP "OpenBL602_..." i przejdź do 192.168.4.1, aby udostępnić Wi-Fi. ( coreforge.com )
Opcjonalne alternatywy: - BLDevCube (GUI): Wybierz BL602/604, Interface=UART, Port=/dev/ttyUSB0, Baud=2 000 000 (lub 115200 w razie potrzeby), załaduj BL602 UART Flash .bin w polu firmware, a następnie zaprogramuj. ( pine64.github.io ) - blflash: ./blflash flash OpenBL602_x.y.z.bin --port /dev/ttyUSB0 (Użyj --initial-baud-rate/--baud-rate, jeśli chcesz zwolnić.) ( github.com )
Rozwiązywanie problemów - Narzędzie nie może otworzyć /dev/ttyUSB0: upewnij się, że ponownie zalogowałeś się po dodaniu dialoutu lub uruchom raz z sudo. - "Not ack OK", "timeout" lub powtarzające się próby: zmniejsz prędkość, skróć przewody i użyj lepszego zasilania 3,3 V. ( elektroda.com ) - Brak AP po flashowaniu: upewnij się, że pasek BOOT został usunięty; cykl zasilania; jeśli nadal nie ma AP, ponownie flashuj z niższą prędkością i sprawdź, czy tablica partycji odpowiada rozmiarowi pamięci flash, jeśli przeszedłeś przez zaawansowane strony DevCube. ( elektroda.com ) - Kopia zapasowa/przywracanie: przed zmianami można odczytać całą pamięć flash za pomocą BLDevCube przez UART (użyj ~200 kbaud, jeśli 2 Mbaud jest niestabilne; dla urządzeń 2 MB odczytaj długość 0x1FFFFF). ( elektroda.com )
Aspekty etyczne i bezpieczeństwa - Podczas pracy z urządzeniami w obwodzie (żarówki, gniazda) należy całkowicie odłączyć zasilanie. Nigdy nie zasilaj urządzenia jednocześnie z sieci i urządzenia UART.
Możliwe zastrzeżenia lub dodatkowe uwagi - Niektóre płyty BL602 (PineCone, DT-BL10) udostępniają elementy sterujące rozruchem/resetem; postępuj zgodnie z sekwencją specyficzną dla płyty, jeśli jest dostępna (np. ustaw zworkę IO8 "H", naciśnij RESET). ( lupyuen.github.io )
Sugestie dotyczące dalsze badania - Jeśli Twoje urządzenie to MagicHome/CozyLife BL602 i wolisz uniknąć lutowania, istnieje udokumentowana metoda OTA wykorzystująca zasób OTA (..._OTA.bin.xz.ota). Wykorzystuje to kanał aktualizacji dostawcy, serwując plik lokalnie. ( elektroda.com )
Krótkie podsumowanie - Podłącz GND/3V3 i cross TX/RX do GPIO7/16; pociągnij BOOT (GPIO8) HIGH i zresetuj, aby wejść do programu ładującego ROM; flashuj najnowszy OpenBL602 UART .bin za pomocą bflb-mcu-tool (lub BLDevCube/blflash); usuń BOOT i uruchom ponownie; dołącz do OpenBL602 AP, aby skonfigurować. ( lupyuen.github.io )
Pytania do użytkownika - O jakie dokładnie urządzenie/płytę BL602 chodzi (oznaczenie modułu czy model produktu)? Mogę dostarczyć gotowy szablon OpenBeken (role GPIO) dla twojego sprzętu, gdy tylko poznam model.
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
Wstępna ocena dostępnych informacji - Dziennik flashowania pokazuje kompletny, zweryfikowany program OpenBL602_1.18.187.bin do BL602 z 2 MB pamięci flash (JEDEC EF4015). Narzędzie utworzyło nagłówek rozruchowy, wymazało potrzebne regiony, zapisało obraz i zweryfikowało SHA-256 - "Wszystko powiodło się". Tak więc obraz jest w pamięci flash. ( pypi.org ). - W BL602 tryb rozruchu jest wybierany przez GPIO8 (BOOT). GPIO8 HIGH po resecie wchodzi do programu ładującego UART ROM; GPIO8 LOW lub pływający po resecie uruchamia się z pamięci flash. Jeśli BOOT pozostaje WYSOKI po flashowaniu, chip pozostanie w programie ładującym i nigdy nie uruchomi OpenBeken (stąd brak AP). ( pine64.github.io ). - Przy pierwszym normalnym uruchomieniu OpenBeken dla BL602 uruchamia Soft-AP 2,4 GHz o nazwie "OpenBL602_<last 3 bytes of MAC>" na 192.168.4.1. W dzienniku MAC to d9:5b:1b:94:94:24, więc spodziewaj się SSID takiego jak OpenBL602_949424. ( coreforge.com )
Bezpośrednia odpowiedź na pytanie Najbardziej prawdopodobne przyczyny i najszybsze naprawy: 1) Usunięcie taśmy BOOT i wyłączenie zasilania - Odłącz GPIO8 od 3,3 V, a następnie naciśnij RESET lub wyłącz/włącz zasilanie. Jest to powód numer jeden dla "flash OK, ale brak AP". ( pine64.github.io ). 2) Zasil moduł ze stabilnej wersji 3Źródło .3 V (≥300 mA) - Nie należy polegać na pinie 3,3 V klucza sprzętowego USB-serial w celu uruchomienia Wi-Fi; przerwy w zasilaniu powodują ciche pętle rozruchowe i nie widać punktu dostępowego. ( elektroda.com ). 3) Obejrzyj dziennik rozruchu z prędkością 115200 bps - Po zwolnieniu BOOT otwórz "screen /dev/ttyUSB0 115200" lub "minicom -D /dev/ttyUSB0 -b 115200" i włącz zasilanie. Powinieneś zobaczyć baner OpenBeken i komunikaty startowe AP; jeśli nie, zanotuj wszelkie błędy. 4) Jeśli nadal nic, wykonaj ponowne flashowanie z pełnym wymazaniem chipa - bflb-mcu-tool --chipname bl602 --port /dev/ttyUSB0 --baudrate 115200 --erase --firmware OpenBL602_1.18.187.bin (przypomnienie: BOOT musi być WYSOKI tylko do flashowania, a następnie NISKI do uruchomienia). ( pypi.org ) 5) Jeśli kryształ na płycie nie ma częstotliwości 40 MHz, ustaw właściwy XTAL podczas flashowania - Na przykład dla kryształu 26 MHz dodaj "--xtal 5". Użycie niewłaściwego XTAL w nagłówku startowym może uniemożliwić inicjalizację Wi-Fi. ( pypi.org )
Szczegółowa analiza problemu - Stan paska rozruchowego (najczęstszy) - Twój log dowodzi, że program ładujący UART zadziałał, co wymaga GPIO8=HIGH. Jeśli ten pasek pozostanie na miejscu po flashowaniu, BL602 ponownie wejdzie do programu ładującego przy każdym resecie i nigdy nie wykona aplikacji. Usuń pasek (lub ustaw zworkę na płytce na "L/LOW"), a następnie zresetuj. ( pine64.github.io ) - Dostarczanie energii podczas uruchamiania radia - Włączenie Wi-Fi powoduje krótkie skoki prądu. Wiele adapterów CH340/CP2102 może programować się niezawodnie, ale sag na 3,3 V podczas uruchamiania AP, co prowadzi do brownoutów i niewidocznych AP. Moduł należy zasilać z odpowiedniego regulatora 3,3 V (masy wspólne z USB-UART). Jeśli zobaczysz powtarzający się baner szeregowy, jest to pętla rozruchowa spowodowana zbyt niskim napięciem. ( elektroda.com ). - Jakiego SSID szukać i jak skanować - Domyślny SSID to "OpenBL602_<MAC>" na częstotliwości 2,4 GHz. Korzystając z adresu MAC, wyszukaj "OpenBL602_949424". Na Ubuntu: - nmcli dev wifi rescan; nmcli -f SSID,SIGNAL dev wifi | grep -i openbl602 - Lub sudo iw dev wlan0 scan | grep -i openbl602 - Wypróbuj skanowanie telefonu na wypadek, gdyby karta Linux / domena regulacyjna filtrowała kanały. Domyślnym kanałem Soft-AP jest standardowy kanał 2,4 GHz; jeśli twój region nie zezwala na ch12/13, a AP go wybrał, widoczność może zależeć od regdomu klienta. ( coreforge.com ). - Pozostała konfiguracja w pamięci flash - Poprzednia konfiguracja (z wcześniejszych testów) może sprawić, że urządzenie spróbuje tylko trybu STA i nie udostępni AP. Wykonaj pełne ponowne wymazanie (dodaj --erase), aby partycje NVM / konfiguracyjne zostały wyczyszczone, a następnie uruchom nowy system. ( pypi.org ) - Niedopasowanie XTAL (mniej powszechne, ale prawdziwe) - bflb-mcu-tool wygenerował obraz z domyślnym nagłówkiem rozruchowym 40 MHz (i użył eflash_loader_40m). Jeśli moduł faktycznie ma kryształ 26 MHz, inicjacja Wi-Fi może się nie powieść. Przeflashuj z poprawną opcją XTAL: - 24M=1, 32M=2, 38.4M=3, 40M=4 (domyślnie), 26M=5. Sprawdź oznaczenie puszki kryształu (często "40.000" lub "26.000"). ( pypi.org ). - Linie szeregowe i sygnały sterujące - Po flashowaniu niektóre adaptery utrzymują stan DTR/RTS ("default set DTR high" jest w logu). Na niektórych płytach linie te są podłączone do obwodów resetowania/uruchamiania. W przypadku testu pierwszego uruchomienia: pozostaw podłączone tylko 3,3 V i GND lub przynajmniej upewnij się, że program terminala wyłącza DTR/RTS. - Oczekiwania dotyczące partycjonowania - Twój log pokazuje standardową mapę (bootinfo @0x_0, app @0x2000) używaną przez narzędzia Bouffalo; binaria OpenBL602 UART są zbudowane dokładnie dla tego. Niedopasowana tablica partycji jest tutaj mało prawdopodobna, ale jeśli wcześniej używałeś "zaawansowanych" opcji, wróć do domyślnych lub całkowicie wymaż. ( pine64.github.io ). - Błędy anteny/sprzętu - Nawet bez anteny, w bliskiej odległości zwykle nadal widać SSID. Brak SSID i brak dziennika rozruchu często wskazuje na pasek BOOT lub zasilanie.
Co powinno być widoczne na konsoli szeregowej (normalny przypadek): - Baner OpenBeken, MAC, następnie komunikaty o uruchomieniu Soft-AP; następnie SSID "OpenBL602_...". To zachowanie (pierwsze uruchomienie ujawnia Soft-AP na 192.168.4.1) jest udokumentowane i zgłaszane przez użytkowników. ( coreforge.com )
Jeśli AP nadal nie pojawia się po wykonaniu powyższych czynności: - Wymuś AP z konsoli: podłącz GND i BL602 TX (GPIO16) do swojego USB-UART RX, otwórz 115200 i wpisz komendy: - Backlog WiFi_EnableAp 1; WiFi_SSID OpenBL602_Test; WiFi_Pass 12345678; Save; Restart Odzwierciedla to gramatykę HTTP/CLI używaną przez OpenBeken (WiFi_SSID, WiFi_Pass, WiFi_EnableAp, Save, Restart). ( elektroda.com ). - Wypróbuj inną kompilację (ten sam major) w przypadku lokalnego problemu z obrazem; 1.18.187 to aktualna linia wydań, a OpenBeken publikuje gotowe do flashowania obrazy OpenBL602 w wydaniach. ( newreleases.io ).
Bieżące informacje i trendy - Wydania OpenBeken zawierają obrazy OpenBL602 UART; 1.18.187 jest jednym z najnowszych oznaczonych wydań śledzonych przez agregatory wydań. ( newreleases.io ) - CLI Bouffalo bflb-mcu-tool (PyPI) pozostaje zalecanym otwartym flasherem; obsługuje pełne wymazywanie chipów i jawny wybór XTAL dla BL602. ( pypi.org ). - Raporty społeczności potwierdzają domyślne nazewnictwo AP "OpenBL602_<MAC>" i przepływ pracy pierwszego uruchomienia Soft-AP. ( coreforge.com )
Wspierające wyjaśnienia i szczegóły - Dlaczego BOOT musi być NISKI do uruchomienia: ROM BL602 sprawdza GPIO8 przy resecie; WYSOKI wybiera UART ISP, NISKI/FLOAT wybiera flash boot. Jest to udokumentowany przez dostawcę przepływ używany przez BLDevCube i odzwierciedla kroki flashowania. ( pine64.github.io ). - Dlaczego zasilanie ma znaczenie: programowanie pamięci flash jest tolerancyjne na niski prąd, ale rozruch radiowy już nie. Słabe źródło 3,3 V pozwala na flashowanie, ale zawodzi przy uruchamianiu AP. ( elektroda.com ) - Dlaczego ustawienie XTAL ma znaczenie: nagłówek / konfiguracja rozruchu informuje SDK o częstotliwości odniesienia; niewłaściwa częstotliwość może zepsuć kalibrację RF i synchronizację. bflb-mcu-tool pozwala ustawić to jawnie. ( pypi.org )
Praktyczne wskazówki (Ubuntu) - Uprawnienia: sudo usermod -a -G dialout $USER; re-login. - Monitor szeregowy: screen /dev/ttyUSB0 115200 (Ctrl-A, K aby wyjść) lub minicom -D /dev/ttyUSB0 -b 115200. - Pełne wymazanie i ponowne flashowanie (w razie potrzeby): bflb-mcu-tool --chipname bl602 --port /dev/ttyUSB0 --baudrate 115200 --erase --firmware OpenBL602_1.18.187.bin Dodaj --xtal 5, jeśli twój kryształ ma 26 MHz. ( pypi.org )
Aspekty etyczne i bezpieczeństwa - Jeśli ten moduł znajduje się wewnątrz urządzenia sieciowego (żarówka/wtyczka), należy odłączyć go od sieci podczas pracy UART. Nigdy nie zasilaj z sieci i UART w tym samym czasie.
Sugestie do dalszych badań - Jeśli router korzysta z przejścia WPA2/WPA3 lub PMF, a później pojawiają się problemy z asocjacją w trybie STA, przetestuj tylko WPA2, aby odizolować dziwactwa BL602 SDK zgłaszane przez użytkowników; ale nie ma to związku z tworzeniem AP. ( elektroda.com )
Krótkie podsumowanie . - Flash był dobry. Usuń podciąganie BOOT (GPIO8), zasil płytę z solidnego zasilania 3,3 V i obserwuj konsolę 115200-baud przy pierwszym uruchomieniu. Powinieneś zobaczyć i być w stanie dołączyć do "OpenBL602_949424" na 192.168.4.1. Jeśli nadal nie ma AP, przeflashuj z --erase (i poprawnym --xtal, jeśli twój kryształ nie ma 40 MHz) i / lub wymuś AP za pomocą poleceń szeregowych. ( pine64.github.io )
Pytania do użytkownika - Czy po flashowaniu GPIO8 było nadal podłączone do 3,3 V, gdy próbowałeś wyszukać AP? - Co to za moduł/płyta (zdjęcia lub oznaczenie kryształu pomogłyby potwierdzić 26 MHz vs 40 MHz)? - Jak zasilasz BL602 podczas testu "bez AP"? - Czy możesz wkleić pierwsze 50-100 linii z konsoli szeregowej po zdjęciu paska BOOT i włączeniu zasilania?
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z USB podłączyłem przewód do 3v3 plus podłączyłem adapter szeregowy uruchomiłem ekran wykonałem cykl zasilania brak wyjścia na ekranie kontroler to BL602L
Dodano po 58 [sekundach]:
>>21713120 po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z USB podłączyłem przewód do 3v3 plus podłączyłem adapter szeregowy uruchomiłem ekran wykonałem cykl zasilania brak wyjścia na ekranie kontroler to BL602L
Dodano po 53 [sekundach]:
@ElektrodaBot po flashowaniu usunął 3v3 z p8 użył zewnętrznego 3v3 usunął przewód plus usunął adapter szeregowy z USB włożyłem przewód do 3v3 plus włożyłem adapter szeregowy uruchomiłem ekran zrobiłem cykl zasilania brak wyjścia na ekranie kontroler to BL602L
po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z usb
włożyłem przewód do 3v3 plus włożyłem adapter szeregowy uruchomiłem ekran zrobiłem cykl zasilania brak wyjścia na ekranie kontroler to bl602L
Dodano po 58 :
po flashowaniu usunięto 3v3 z p8 użyto zewnętrznego 3v3 usunięto przewód plus usunięto adapter szeregowy z usb
włożyłem kabel do 3v3 plus włożyłem adapter szeregowy uruchomił się ekran zrobił cykl zasilania brak wyjścia na ekranie kontroler to bl602L
Dodano po 53 :
@ElektrodaBot po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z usb
włożyłem przewód do 3v3 plus włożyłem adapter szeregowy uruchomiłem ekran wykonałem cykl zasilania brak wyjścia na ekranie kontroler to bl602L po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z usb
włożyłem przewód do 3v3 plus włożyłem adapter szeregowy uruchomiłem ekran wykonałem cykl zasilania brak wyjścia na ekranie kontroler to bl602L
Dodano po 58 :
po flashowaniu usunięto 3v3 z p8 użyto zewnętrznego 3v3 usunięto przewód plus usunięto adapter szeregowy z usb
włożyłem kabel do 3v3 plus włożyłem adapter szeregowy uruchomił się ekran zrobił cykl zasilania brak wyjścia na ekranie kontroler to bl602L
Dodano po 53 :
@ElektrodaBot po flashowaniu usunąłem 3v3 z p8 użyłem zewnętrznego 3v3 usunąłem przewód plus usunąłem adapter szeregowy z usb
włożyłem przewód do 3v3 plus włożyłem adapter szeregowy uruchomiłem ekran wykonałem cykl zasilania brak wyjścia na ekranie kontroler to bl602L
Wstępna ocena dostępnych informacji - Sesja flash zakończyła się wynikiem "[All Successful]" i poprawnym SHA-256, więc obraz jest w pamięci flash, a zewnętrzny SPI (EF4015, 2 MB) został poprawnie wykryty. Narzędzie domyślnie zbudowało również nagłówek rozruchowy 40 MHz. ( pypi.org ). - Aby uruchomić z pamięci flash, BL602 musi widzieć BOOT/IO8 LOW lub pływający po resecie; BOOT HIGH utrzymuje chip w UART ISP, a aplikacja nigdy się nie uruchomi. ( pine64.github.io ) - Program ładujący ROM używa UART0 na GPIO7 (RX) / GPIO16 (TX) do flashowania. Wiele oprogramowania układowego BL602 (w tym przykłady SDK) przenosi dziennik / konsolę uruchomieniową na inny UART / piny (zwykle UART1 na GPIO4 TX / GPIO3 RX przy 115200), więc nie zobaczysz żadnych komunikatów rozruchowych, jeśli będziesz nasłuchiwać na GPIO16 po flashowaniu. ( lupyuen.org ) - OpenBeken Soft-AP dla BL602 może pojawić się na 192.168.169.1 (nie 192.168.4.1 jak inne chipy), więc należy o tym pamiętać podczas testowania AP. ( github.com )
Bezpośrednia odpowiedź na Twoją sytuację Biorąc pod uwagę "brak wyjścia szeregowego" po zweryfikowanym flashu i że używasz BL602L z zewnętrznym zasilaniem 3,3 V, trzy najbardziej prawdopodobne przyczyny to: 1) Monitorujesz niewłaściwy pin UART dla logów. Po flashowaniu na GPIO7/16, przenieś USB-UART RX na pin TX aplikacji (najpierw spróbuj GPIO4 TX przy 115200; jeśli nic nie da, spróbuj GPIO16 przy 2 000 000 i 115200). ( pine64.github.io ) 2) Niedopasowanie XTAL. Wiele modułów BL602L jest dostarczanych z kryształem 26 MHz; flashowałeś z domyślnym nagłówkiem 40 MHz. Ponowne flashowanie z pełnym wymazaniem i prawidłowym parametrem XTAL. ( pypi.org ) 3) Brak wspólnej masy. Podczas zasilania modułu z zewnętrznego źródła 3,3 V i odczytu szeregowego przez adapter USB, wszystkie masy muszą być połączone razem (masa zasilacza, masa modułu, masa USB-UART). W przeciwnym razie nie będzie wyjścia UART, nawet jeśli MCU jest uruchomiony.
Szczegółowa analiza problemu - Piny UART kontra piny flashowania - ISP BL602 ROM ściśle nasłuchuje na UART0 przy GPIO7/16. Dlatego flasher zadziałał. Jednak oprogramowanie układowe aplikacji często mapuje konsolę na inny UART i piny. Przykład uart_echo ze standardowego SDK używa UART1 na GPIO4 (TX) / GPIO3 (RX) przy 115200, podczas gdy inny przykład SDK device-tree utrzymuje UART0 na 7/16, ale przy 2 Mbps. Jeśli więc utrzymasz przewód RX na GPIO16 po flashowaniu i spodziewasz się logów 115200, możesz nic nie odczytać. Praktyczne podejście: sprawdź obu kandydatów: - Spróbuj zalogować aplikację na GPIO4 TX przy 115200 8N1. - Jeśli nadal jest pusty, wróć do GPIO16 TX i spróbuj 115200, a następnie 2 000 000 8N1. ( pine64.github.io ) - Pasek BOOT i reset - Usunąłeś już napięcie 3,3 V z P8 (BOOT). Upewnij się, że nie jest słabo podciągnięty w innym miejscu na płycie. W BL602 BOOT musi być NISKI/pływający przy resecie, aby uruchomić z flasha; jeśli jest WYSOKI, chip ponownie wchodzi do ISP i aplikacja nie uruchomi się (brak AP, a w zależności od terminala nadal możesz nic nie widzieć). ( pine64.github.io ). - Konsekwencje niedopasowania XTAL - Dziennik pokazuje eflash_loader_40m i nagłówek rozruchowy 40 MHz. Jeśli fizyczny kryształ ma częstotliwość 26 MHz, wczesne taktowanie i inicjacja RF mogą zawieść tak wcześnie, że konsola UART nigdy się nie pojawi. CLI obsługuje wyraźny wybór: dla BL602 użyj --xtal 5 dla 26 MHz. Ponowne flashowanie z prawidłowym xtal i pełne wymazanie eliminuje tę klasę błędów. Polecenie poniżej. ( pypi.org ) - Integralność zasilania i okablowanie - Przepięcie radiowe podczas uruchamiania AP wymaga przyzwoitej szyny 3,3 V. Piny USB-UART 3,3 V często zwisają; poprawnie przełączyłeś się na zewnętrzne źródło zasilania. Ale adapter szeregowy musi współdzielić masę z modułem i zasilaczem. Ponadto, utrzymuj przewody poniżej ~10-15 cm dla wiarygodnych testów 2 Mbps. Raporty społeczności zauważają również, że zbyt słabe klucze sprzętowe powodują "działa we flashu, nie działa w AP". ( elektroda.com ). - Widoczność punktu dostępowego i adres IP - Przy pierwszym uruchomieniu bez uwierzytelnienia Wi-Fi, OpenBL602 tworzy AP 2,4 GHz "OpenBL602_<MAC>". Niektóre kompilacje używają 192.168.169.1 dla interfejsu zarządzania (zamiast 192.168.4.1 typowego dla innych chipów). Zeskanuj telefonem i wypróbuj oba adresy IP, jeśli możesz dołączyć. ( github.com ). - Tryb odzyskiwania/bezpieczny - Jeśli w pamięci flash znajdują się nieaktualne ustawienia, które blokują AP, wykonaj pięciokrotny szybki cykl zasilania, aby przejść do trybu bezpiecznego OpenBeken, który wymusza AP z wyłączonym systemem pinów, dzięki czemu można odzyskać. ( github.com )
Praktyczne wskazówki (Ubuntu, krok po kroku) 1) Okablowanie dla normalnego rozruchu i logowania - Usuń zworkę z BOOT (P8). - Zewnętrzne 3,3 V → VDD; GND zasilacza, modułu i USB-UART są połączone. - Dla logów, podłącz USB-UART RX do: - Najpierw spróbuj BL602 TX na GPIO4; 115200 8N1. - Jeśli brak wyjścia, przenieś RX do GPIO16; przetestuj 115200, a następnie 2 000 000 8N1.. ( pine64.github.io ). - Uruchom terminal: screen /dev/ttyUSB0 115200 lub screen /dev/ttyUSB0 2000000 (Ctrl-A K aby wyjść). 2) Ponowne flashowanie z pełnym wymazaniem i 26 MHz (jeśli kryształ BL602L ma 26,000) - Ustaw P8=HIGH i zresetuj, aby wejść do ISP. - Uruchom: bflb-mcu-tool --chipname bl602 --port /dev/ttyUSB0 --baudrate 115200 --erase --xtal 5 --firmware OpenBL602_1.18.187.bin - Po zakończeniu zdejmij pasek P8, włącz zasilanie i spróbuj ponownie zalogować/AP. ( pypi.org ) 3) Skanowanie w poszukiwaniu AP - Użyj telefonu lub Ubuntu: nmcli dev wifi rescan; nmcli -f SSID,SIGNAL dev wifi | grep -i openbl602 - Jeśli się połączysz, przejdź do 192.168.169.1 (podstawowy dla BL602) lub 192.168.4.1 i udostępnij Wi-Fi. ( github.com ). 4) W razie potrzeby wymuś tryb awaryjny - Pięć szybkich cykli zasilania, aby wymusić tryb AP / bezpieczny, a następnie wyczyść wszystkie dziwne konfiguracje z interfejsu użytkownika. ( github.com )
Bieżące informacje i trendy - bflb-mcu-tool pozostaje utrzymanym CLI (v1.10.0 przesłane 27 kwietnia 2025 r.) i dokumentuje kody BL602 --xtal: 1=24M, 2=32M, 3=38.4M, 4=40M (domyślnie), 5=26M. ( pypi.org ). - Przykłady BL602 SDK zwykle używają UART1 na GPIO4/3 przy 115200 dla demonstracji aplikacji, podczas gdy niektóre konfiguracje drzewa urządzeń utrzymują UART0 na 7/16 z wyższą prędkością transmisji. Spodziewaj się rozbieżności w zależności od oprogramowania układowego; potwierdź, sondując oba. ( pine64.github.io )
Wspierające wyjaśnienia i szczegóły - Dlaczego należy rejestrować zmiany pinów po flashowaniu: Po uruchomieniu oprogramowania układowego może ono zmienić mapowanie funkcji UART na dowolne GPIO obsługiwane przez pinmux. Przykłady SDK pokazują wiele prawidłowych mapowań; OpenBeken może stosować podobne konwencje. Dlatego nie ma gwarancji, że piny flashowania (7/16) i piny dziennika runtime będą identyczne. ( pine64.github.io ) - Dlaczego 26 MHz ma znaczenie na BL602L: Program ładujący eflash generuje nagłówek rozruchowy przy użyciu określonego XTAL; nieprawidłowy xtal zakłóca PLL / zegary systemowe bardzo wcześnie, więc wyjście UART może nigdy się nie pojawić. CLI udostępnia jawny wybór XTAL dla BL602, aby tego uniknąć. ( pypi.org )
Praktyczna lista kontrolna (szybki triage) - Wspólna masa między zasilaczem, modułem, USB-UART? Jeśli nie, napraw najpierw. - BOOT (P8) pływający/LOW przy resecie? Sprawdź ciągłość. - Spróbuj zalogować się na GPIO4@115200, następnie GPIO16@115200, następnie GPIO16@2000000. - Jeśli nadal cicho, ponownie flashuj z --erase --xtal 5 (26 MHz). - Wyszukaj "OpenBL602_XXXXXX" i spróbuj 192.168.169.1. ( github.com )
Możliwe zastrzeżenia lub dodatkowe uwagi - Jeśli urządzenie zawiera interfejs pomiaru energii BL0937/BL0942 i później ustawisz te piny w OpenBeken, pamiętaj, że niektóre historyczne kombinacje oprogramowania układowego powodowały problemy z uruchomieniem; odzyskiwanie w trybie awaryjnym pozostaje dostępne. Nie jest to bezpośrednio związane z pierwszym uruchomieniem AP, ale warto o tym wiedzieć. ( elektroda.com )
Krótkie podsumowanie - Twój flash jest dobry. Przesuń przewód RX dziennika z migającego TX (GPIO16) i wypróbuj prawdopodobną konsolę uruchomieniową na GPIO4 przy 115200; jeśli nadal jest pusta, wypróbuj GPIO16 przy 2 000 000 i 115200. Upewnij się, że BOOT jest zwolniony i wszystkie masy są wspólne. Jeśli częstotliwość kryształu wynosi 26 MHz (wspólna dla BL602L), wykonaj ponowne flashowanie za pomocą --erase --xtal 5. Następnie wyszukaj "OpenBL602_..." i przejdź do 192.168.169.1, aby skonfigurować Wi-Fi. ( pine64.github.io )
Pytania do Ciebie - Czy możesz udostępnić wyraźne zdjęcie modułu, abyśmy mogli odczytać oznaczenie kryształu (np. "26.000" lub "40.000")? - Podczas monitorowania rozruchu, do którego pinu BL602 TX faktycznie się podłączyłeś (GPIO16 czy GPIO4)? Z jaką szybkością transmisji? - Czy masy zasilacza, modułu i USB-UART są połączone podczas testu szeregowego? - Czy po ponownym flashowaniu z --xtal 5 i zwolnieniu BOOT, telefon widzi jakikolwiek SSID zaczynający się od OpenBL602_...? Jeśli możesz się połączyć, który z 192.168.169.1 lub 192.168.4.1 otwiera interfejs użytkownika?
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
✨ Dyskusja dotyczy procesu flashowania mikrokontrolera BL602 za pomocą narzędzia bflb-mcu-tool na systemie Ubuntu Linux, z wykorzystaniem adaptera USB do szeregowego. Użytkownik pomyślnie wgrał firmware OpenBL602_1.18.187.bin, potwierdzając poprawne wykrycie pamięci SPI EF4015 (2 MB) oraz prawidłowe utworzenie nagłówka rozruchowego 40 MHz. Problemem jest brak widoczności punktu dostępowego WiFi po flashowaniu oraz brak wyjścia na ekranie przy kontrolerze BL602L. Wskazano, że do uruchomienia aplikacji z pamięci flash konieczne jest ustawienie linii BOOT/IO8 na LOW lub stan pływający po resecie, gdyż stan HIGH utrzymuje chip w trybie UART ISP. Konsola uruchomieniowa może być przeniesiona na inny UART (np. UART1 na GPIO4/GPIO3), co wymaga odpowiedniego monitorowania portu szeregowego. Dodatkowo podkreślono konieczność dołączenia plików konfiguracyjnych toml, dts oraz boot podczas flashowania firmware OpenBL602. OpenBeken Soft-AP dla BL602 może być dostępny pod adresem 192.168.169.1, co różni się od standardowego 192.168.4.1 innych chipów. Użytkownik zastosował zewnętrzne zasilanie 3.3V i wykonał cykl zasilania, jednak problem z brakiem sygnału na ekranie pozostał. Wygenerowane przez model językowy.