How can I identify and start working on the Broadlink BL3335-P / RDA5981AM controller, including the right UART pins and flashing/porting approach?
Układ BL3335-P/RDA5981AM najlepiej diagnozować przez UART0 na PA_0/PA_1 (IO26/IO27); IO21 nie jest potrzebny do normalnej pracy, choć na początku pomagał RDA Flash Toolowi złapać BL3335-P przy odczycie/zrzucie. [#21701075][#21698784][#21726631]
Publicznie dostępny jest głównie stary SDK MbedOS515 V1.3.5/V1.3.6 oraz dokumentacja/repo RDA5981, więc portowanie trzeba oprzeć na tych materiałach i bootlogu z urządzenia, a nie na nowym FreeRTOS SDK. [#21634414][#21634407]
W praktyce później udało się uruchomić OBK na tym chipie: działały PWM/dimmer, selektor koloru, suwak ciepło–zimno i MQTT. [#21703115]
Do flashowania i backupu flasher został później uproszczony do zapisu samej konfiguracji OBK oraz pełnego erase; zapis konfiguracji wymagał kasowania flasha przed użyciem, a OTA było dopracowywane osobno. [#21726631][#21727683][#21726119]
Daj mi znać, jeśli chcesz animowany gif przeglądania urządzenia, a następnie mnie nawigującego, abyś mógł lepiej poczuć zachowanie. nie, żeby było w tym wiele poza tym, co napisałem.
RDA Boot ROM dla RDA5991H r550
Czas kompilacji: 15:50:19 - 10 maja 2017 r.
RDA Microelectronics Copyright(C) 2004-2017
Wejście w tryb Mcu
count_left=5
count_left=4
count_left=3
count_left=2
count_left=1
Gotowy do uruchomienia...
Adres partycji:4010901c
Znaleziono najnowszą partycję index:0, total:1, buf_addr:0x00100000, size:0x00000138
Partition[0] info
flag:00000001, version:rda5991h
p_address:00001000, r_address:00001000, psize_in_bytes:0x00076000, dsize_in_byte9,
----------------maclib task
OpenRDA5981, wersja rda5981_dbf97cc431be
Wprowadzanie initLog()...
Polecenia zarejestrowane!
initLog() wykonane!
Debug:CMD:Dodawanie polecenia loglevel
Debug:CMD:Dodawanie polecenia logfeature
Debug:CMD:Dodawanie polecenia logtype
Debug:CMD:Dodanie polecenia commMain_Init_Before_Delay wykonane
Main_Init_Delay
Main_Init_Delay done
i logdelay
Info:MAIN:Main_Init_Before_Delay
Info:MAIN:###### tryb bezpieczny aktywowany - błędy rozruchu 5
Debug:CFG:CFG_CalcChecksum: rozmiar nagłówka 4, rozmiar całkowity 3584, rozmiar rem 3580
Warn:CFG:CFG_InitAndLoad: Załadowano poprawną konfigurację z liczbą 3 zmian.
Info:MAIN:Main_Init_Before_Delay done
Info:MAIN:Main_Init_Delay
Info:MAIN:Main_Init_Delay done
Info:MAIN:Main_Init_After_Delay
Info:MAIN:###### tryb bezpieczny aktywowany - awarie rozruchu 5
Info:MAIN:Używanie SSID [test]
Info:MAIN:Używanie hasła [1234abcd]
Debug:MAIN:Uruchomiono serwer http tcp
Info:MAIN:Main_Init_After_Delay wykonane
ExtraDebug:HTTP:Gniazdo powiązane na 0.0.0.0:80
Info:HTTP:Nasłuchiwanie serwera TCP
Info:MAIN:[SAFE] Time 1, idle 0/s, free 78430, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/8
Info:MAIN:[SAFE] Time 2, idle 0/s, free 78430, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/8
Info:MAIN:[SAFE] Time 3, idle 0/s, free 78430, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/8
Info:MAIN:[SAFE] Time 4, idle 0/s, free 78430, MQTT 0(0), bWifi 0, secondsWithNoPing -1, socks 2/8
wyczyść. nowy flash. set btn jest w porządku - brak trybu bezpiecznego po ponownym uruchomieniu.
Ustaw irrecv, a następnie tryb bezpieczny po ponownym uruchomieniu. wszystko ze sterownikiem wydaje się, że wprowadza go w tryb bezpieczny.
Dodano po 12 [minutach]: .
hmm. Myślałem, że AHT2x działa ok, ale przechodzi też w tryb bezpieczny. jeśli wyjdziesz z trybu bezpiecznego i uruchomisz ponownie, po prostu wróci do trybu bezpiecznego.
Czy wyjście z trybu bezpiecznego (lub konfiguracja pinów) bez restartu i użycie startdriver działa?
I czy ota działa? Używa tego samego binarnego co uart
✨ Dyskusja dotyczy analizy i próby portowania oprogramowania dla żarówki RGBW B22 15W z kontrolerem RDA 5981AM, stosowanym w module Broadlink BL3335-P. Użytkownicy potwierdzili, że układ RDA5981AM jest stosowany w tych urządzeniach, jednak dokumentacja SDK jest przestarzała i ograniczona, a dostępne wersje mają problemy z brakiem wsparcia FreeRTOS oraz niepełną funkcjonalnością. Próby uzyskania dzienników rozruchu poprzez podłączenie UART (RX/TX) i zasilanie 3,3 V wykazały, że debugowanie jest możliwe, ale urządzenie często zatrzymuje się na błędach pamięci (Memory Manage Fault, BusFault, HardFault). Flash urządzenia ma mapowanie pamięci z aliasami dla danych i instrukcji (adresy 0x1400000 dla danych i 0x1800000 dla XIP). Próby zapisu i odczytu konfiguracji flash wykazały, że zapisywanie działa tylko częściowo, a urządzenie często pozostaje w trybie Access Point bez pełnej funkcjonalności GUI. W dyskusji pojawiły się także odniesienia do modułów HLK-M50 i Tuya z układem RDA5981, a także do projektów open source, takich jak OpenBK7231T_App i AliOS-Things, które mogą oferować lepsze wsparcie, w tym OTA i FreeRTOS. Mimo licznych prób i testów, pełne uruchomienie i stabilne działanie firmware na RDA5981AM pozostaje wyzwaniem ze względu na ograniczenia SDK, brak dokumentacji funkcji flash oraz problemy z zarządzaniem pamięcią i stabilnością systemu. Wygenerowane przez model językowy.