logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Flashowanie oprogramowania układowego OpenBeken na module WL2S z układem Lightning LN882HK dla ELIVC

sithyoda 17 Paź 2023 13:10 51657 183
Najlepsze odpowiedzi LABEL_AI_GENERATED

Czy da się uruchomić OpenBeken na module WL2S z układem LN882HK i jak go sflashować?

Tak — to nie jest układ Beken, więc obraz BK na nim nie działa, ale projekt został przeniesiony na LN882H i udało się uruchomić OpenBeken na tym chipie po zbudowaniu firmware z SDK LN882H [#20826038][#20904300] Do pierwszego flashowania używano UART0/RX0-TX0 z GPIOA9 trzymanym w GND podczas startu oraz narzędzia LN882H_CMD_Tool; przykładowa komenda to `LN882H_CMD_Tool.exe COMx download flash 115200 0x0 flashimage.bin` [#20891275] Jeśli pojawia się błąd downloadu, obniżenie prędkości do 115200 rozwiązywało problem [#20908318][#20908420] Potem potwierdzono działanie podstawowych funkcji OBK: blink LED, STA/Wi‑Fi, OTA i zapis konfiguracji flash [#20904300][#20916193][#20919413] Finalnie zgłoszono też działający sterownik BL0937, więc obsługa modułu została doprowadzona praktycznie do pełnej funkcjonalności [#20968262]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
Treść została przetłumaczona angielski » polski Zobacz oryginalną wersję tematu
  • #1 20773678
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2
    Właśnie dostałem kilka modułów ELIVCO LSPA9 i chciałem je sflashować firmware OpenBeken.
    Moduł ELIVCO LSPA9 z informacjami technicznymi na obudowie

    Po demontażu musiałem dowiedzieć się, że zainstalowana płytka mikrokontrolera nosi nazwę WL2S, a zastosowany układ to LIGHTNING LN882HK.
    Zbliżenie modułu z płytką mikrokontrolera WL2S i układem LIGHTNING LN882HK.

    Niestety, ten wydaje się być dość nowy i nie znalazłem zbyt wielu informacji na jego temat, z wyjątkiem niektórych stron tuya: Link
    Link

    Czy jest jakaś szansa na jego wsparcie, nawet jeśli wydaje się, że nie jest oparty na chipie beken?



    Uaktualnienie 2026
    Od 2026 r. ta platforma odczytu/zapisu jest również obsługiwana przez nasze narzędzie flash:
    https://github.com/openshwprojects/BK7231GUIFlashTool
    Połączenie (lutowanie, przewody) jest takie samo, ale można użyć naszego narzędzia zamiast starszego.
    Sprawdź to i użyj go zamiast starszych narzędzi, daj nam znać, jak to działa!
  • #2 20774142
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    To dla mnie coś zupełnie nowego! Bardzo chciałbym wspierać ten układ. Czy próbowałeś przynajmniej przechwycić dziennik debugowania z UART?
    Pomogłem? Kup mi kawę.
  • #3 20774969
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Tak, oczywiście. Niestety, jak dotąd bez powodzenia.
    Próbowałem wielu różnych szybkości transmisji, ale wygląda na to, że z pinu TX nie wychodzi absolutnie nic. Nie jestem do końca pewien, czy jest jakiś inny pin, który musi być podłączony oprócz VCC, RX, TX i GND, aby uzyskać przynajmniej jakiś bootlog.
    Diody LED migają podczas uruchamiania i pozostają stabilne. Z pinem CEN do GND, chip może być zrestartowany, tak jak chipy beken.

    Dodano po 1 [godzinie] 34 [minutach]:

    Może spróbuję w laboratorium po odlutowaniu modułu z płyty głównej.
  • #4 20775137
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Jak wygląda tylna część modułu?
    Pomogłem? Kup mi kawę.
  • #5 20775964
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2
    Tutaj zdjęcie tyłu rozlutowanego modułu.
    Tył rozlutowanego modułu z oznaczeniami pinów.
    Bootlog jest wyprowadzony na pin TXD1:
    adc raw:  764, temp_IC: 22, cap:0x9D331D00, rf43:0x0005, reg74:0x0228
    
    bootloader build time: 13:48:19
    config item not found perip_param value
    -- tuya project compile time: Jun 27 2023 16:30:24--
    ble mac[62:7c:4c:50:de:18]
    [BLIB_I]BLIB Ver: 1.0.3 [build time:Jan 19 2023 12:14:45][0x010003ff]
    xTaskCreate, name: rw_task, priority: 9, stack size: 2048
    xTaskCreate, name: worker, priority: 2, stack size: 1536
    xTaskCreate, name: ty_main, priority: 3, stack size: 4096
    xTaskCreate, name: IDLE, priority: 0, stack size: 1024
    xTaskCreate, name: Tmr Svc, priority: 10, stack size: 2048
    Before enter tuya_main, Total:165888; Free:153552
    GPIOA_9 high level, will enter Normal mode!
    Failed to enter ate mode! Start tuya user main.
    xTaskCreate, name: tuya_app_main, priority: 4, stack size: 4096
    xTaskCreate, name: TUYA_TCPIP, priority: 9, stack size: 2048
    tkl_ethernetif_init
    tkl_ethernetif_init
    [01-01 00:00:00 ty I][lr:0x100b662b] mqc app init ...
    xTaskCreate, name: wq_system, priority: 3, stack size: 5120
    [01-01 00:00:00 ty I][tal_thread.c:184] thread_create name:wq_system,stackDepth:5120,totalstackDepth:7168,priority:3
    xTaskCreate, name: wq_highpri, priority: 4, stack size: 4096
    [01-01 00:00:00 ty I][tal_thread.c:184] thread_create name:wq_highpri,stackDepth:4096,totalstackDepth:11264,priority:4
    xTaskCreate, name: sys_timer, priority: 5, stack size: 4096
    [01-01 00:00:00 ty D][tal_thread.c:203] Thread:wq_highpri Exec Start. Set to Running Stat
    [01-01 00:00:00 ty D][tal_thread.c:203] Thread:sys_timer Exec Start. Set to Running Stat
    [01-01 00:00:00 ty I][tal_thread.c:184] thread_create name:sys_timer,stackDepth:4096,totalstackDepth:15360,priority:5
    [01-01 00:00:00 ty D][lr:0x10078c65] init fs. Path: null
    [01-01 00:00:00 ty D][lr:0x100aa331] *****************kvs_init.
    [01-01 00:00:00 ty D][lr:0x100cdbe1] protected init. addr:0x001eb000
    [01-01 00:00:00 ty D][lr:0x100cd9f1] init protected data length 495
    [01-01 00:00:00 ty N][lr:0x100ac72b] key_addr: 0x1ec000   block_sz 4096
    [01-01 00:00:00 ty N][lr:0x100aca05] get key:
    0x64 0x39 0x64 0x72 0x12 0x67 0x36 0xa3 0x12 0x3a 0xc6 0xe1 0x41 0xa7 0x2e 0x8a
    [01-01 00:00:00 ty D][lr:0x100cdbff] protected verify begin
    [01-01 00:00:00 ty D][lr:0x100cdc61] check [gw_bi][282]
    [01-01 00:00:00 ty D][lr:0x100cdc61] check [gw_wsm][141]
    [01-01 00:00:00 ty D][lr:0x100cdc81] protected verify end
    [01-01 00:00:00 ty D][lr:0x100ab97f] begin try update kv version
    [01-01 00:00:00 ty D][lr:0x100ab99b] pre kv version is 2
    [01-01 00:00:00 ty D][lr:0x100acea1] 111 k=1  i=3 1
    [01-01 00:00:00 ty N][lr:0x100b2729] uni_random_init...
    [01-01 00:00:00 ty N][lr:0x100b29cd] tuya_tls_rand_init ok!
    [01-01 00:00:00 ty D][lr:0x10090ef9] init watchdog, interval: 60
    ----- tkl_watchdog_init
    wdg shift_left_num:0x10, set num:65535, top:0x0d
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:0
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:1
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:2
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:3
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:4
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:5
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:6
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:7
    [01-01 00:00:00 ty D][lr:0x10090e4b] add new node,type:8
    [01-01 00:00:00 ty D][lr:0x10091009] watch_dog_interval:60, monitor_detect_interval:600
    xTaskCreate, name: health_monitor, priority: 5, stack size: 1536
    [01-01 00:00:00 ty D][tal_thread.c:203] Thread:health_monitor Exec Start. Set to Running Stat
    [01-01 00:00:00 ty I][tal_thread.c:184] thread_create name:health_monitor,stackDepth:1536,totalstackDepth:16896,priority:5
    [01-01 00:00:00 ty D][lr:0x100b6531] mq_pro:5 cnt:1
    [01-01 00:00:00 ty D][lr:0x100b6531] mq_pro:31 cnt:2
    [01-01 00:00:00 ty D][lr:0x100b15b5] svc online log init success
    [01-01 00:00:00 ty E][lr:0x100b5d3f] logseq empty
    [01-01 00:00:00 ty N][lr:0x1006afcf] < TuyaOS V:3.5.4 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0 >
    < BUILD AT:2023_01_09_16_12_01 BY ci_manage FOR tuyaos-iot AT ln882h >
    IOT DEFS < WIFI_GW:1 DEBUG:1 KV_FILE:0 LITTLE_END:1 SL:0 OPERATING_SYSTEM:98 RELIABLE_TRANSFER:0 >
    
    [01-01 00:00:00 ty N][lr:0x1006afd9] ln_elec_plug:1.0.4
    [01-01 00:00:00 ty N][lr:0x1006afe3] firmware compiled at Jul  5 2023 15:01:06
    [01-01 00:00:00 ty N][lr:0x1006affd] REST INFORMATION IS 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,over_vol: is 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,lose_vol: is 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,over_cur: is 20000
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,chip_type: is 0
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,ele_fun_en: is 1
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,ele_pin: is 26
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,vi_pin: is 8
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,sel_pin_lv: is 1
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,sel_pin_pin: is 24
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,resistor: is 1
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,vol_def: is 0
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,zero_select: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,zero_t: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,zero_io_pin: is not exsit  1
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,ffc_select: is 0
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,rl1_type: is 0
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,rl_type: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,rl1_drvtime: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,rl_drvtime: is not exsit  1
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,jv: is 1.0.4
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,module: is CB2S
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,net_trig: is 4
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,total_led_lv: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,total_led_pin: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,total_bt_lv: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,total_bt_pin: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,bt_type: is not exsit  1
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,bt1_type: is 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,netled1_lv: is 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,netled1_pin: is 7
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,nety_led: is 0
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,netn_led: is 1
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,netled_reuse: is 0
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,reset_t: is 5
    [01-01 00:00:00 ty N][lr:0x1006b28f] ,ch1_stat: is 2
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,total_stat: is not exsit  1
    [01-01 00:00:00 ty N][lr:0x1006b25f] ,ch_num: is 1
    [01-01 00:00:00 ty N][lr:0x1006b131] channal num is 1
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,rl1_lv: is 1
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,rl1_pin: is 6
    [01-01 00:00:00 ty D][lr:0x1006b31d] ,rl_on1_lv: is not exsit 5
    [01-01 00:00:00 ty D][lr:0x1006b31d] ,rl_on1_pin: is not exsit 5
    [01-01 00:00:00 ty D][lr:0x1006b31d] ,rl_off1_lv: is not exsit 5
    [01-01 00:00:00 ty D][lr:0x1006b31d] ,rl_off1_pin: is not exsit 5
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,bt1_lv: is 0
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,bt1_pin: is 10
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,led1_lv: is 0
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,led1_pin: is 23
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,ch_dpid1: is 1
    [01-01 00:00:00 ty N][lr:0x1006b38b] ,ch_cddpid1: is 9
    [01-01 00:00:00 ty D][lr:0x1006b1dd] ,ble_pair_time: is not exsit  1
    [01-01 00:00:00 ty D][lr:0x1006b6b3] get_measure_chip_type is 0
    [01-01 00:00:00 ty D][lr:0x1006b727] get_standard_vol is 0
    [01-01 00:00:00 ty D][lr:0x1006b6b3] get_measure_chip_type is 0
    [01-01 00:00:00 ty N][lr:0x1006b929] product have measure , chip is 0 vol is 2200  res is 1
    [01-01 00:00:00 ty D][lr:0x10078c65] init fs. Path: null
    [01-01 00:00:00 ty D][lr:0x100aa331] *****************kvs_init.
    [01-01 00:00:00 ty N][lr:0x10097513] mf is open need stop fastconnect
    [01-01 00:00:00 ty D][lr:0x1007b151] mf_core_init success
    [01-01 00:00:00 ty D][lr:0x100cde05] protected read [gw_bi]
    [01-01 00:00:00 ty D][lr:0x100cde93] protected read ret:0 length:282
    [01-01 00:00:00 ty D][lr:0x1008e8eb] gw_bi read ret:0
    set work mode 1, is open 0, current ln mode: 0
    wifi not start, turn on first
    adapt wifi start , hw_ready:0
    start rf preprocess and image cal
    [WLIB_E]idx=00, iq_hex_cal=0x807E, i=128, q=126, iavg= 46, qavg= 82
    [WLIB_E]idx=01, iq_hex_cal=0x817E, i=129, q=126, iavg= 61, qavg= 21
    [WLIB_E]idx=02, iq_hex_cal=0x847F, i=132, q=127, iavg= 44, qavg= 48
    [WLIB_E]idx=03, iq_hex_cal=0x887F, i=136, q=127, iavg= 56, qavg= 78
    [WLIB_E]idx=04, iq_hex_cal=0x8D7F, i=141, q=127, iavg=  4, qavg= 53
    [WLIB_E]idx=05, iq_hex_cal=0x807E, i=128, q=126, iavg= 31, qavg= 75
    [WLIB_E]idx=06, iq_hex_cal=0x827E, i=130, q=126, iavg= 69, qavg= 13
    [WLIB_E]idx=07, iq_hex_cal=0x847F, i=132, q=127, iavg=  0, qavg= 56
    [WLIB_E]idx=08, iq_hex_cal=0x897F, i=137, q=127, iavg= 31, qavg= 89
    [WLIB_E]idx=09, iq_hex_cal=0x8E7F, i=142, q=127, iavg= 12, qavg= 60
    [WLIB_E]idx=10, iq_hex_cal=0x807E, i=128, q=126, iavg= 27, qavg= 73
    [WLIB_E]idx=11, iq_hex_cal=0x827E, i=130, q=126, iavg= 62, qavg= 14
    [WLIB_E]idx=12, iq_hex_cal=0x857F, i=133, q=127, iavg=  6, qavg= 55
    [WLIB_E]idx=13, iq_hex_cal=0x897F, i=137, q=127, iavg= 20, qavg= 93
    [WLIB_E]idx=14, iq_hex_cal=0x8F7F, i=143, q=127, iavg=  2, qavg= 53
    [WLIB_E]idx=15, iq_hex_cal=0x807E, i=128, q=126, iavg= 25, qavg= 77
    [WLIB_E]idx=16, iq_hex_cal=0x827E, i=130, q=126, iavg= 65, qavg= 18
    [WLIB_E]idx=17, iq_hex_cal=0x857F, i=133, q=127, iavg=  7, qavg= 50
    [WLIB_E]idx=18, iq_hex_cal=0x897F, i=137, q=127, iavg= 34, qavg= 66
    [WLIB_E]idx=19, iq_hex_cal=0x8E7F, i=142, q=127, iavg= 22, qavg= 29
    [WLIB_E]idx=20, iq_hex_cal=0x7F7E, i=127, q=126, iavg= 83, qavg=  9
    [WLIB_E]idx=21, iq_hex_cal=0x807F, i=128, q=127, iavg= 66, qavg=119
    [WLIB_E]idx=22, iq_hex_cal=0x8182, i=129, q=130, iavg= 46, qavg= 52
    [WLIB_E]idx=23, iq_hex_cal=0x8485, i=132, q=133, iavg= 50, qavg= 50
    [WLIB_E]idx=24, iq_hex_cal=0x888A, i=136, q=138, iavg= 28, qavg= 62
    xTaskCreate, name: wifi_cfg, priority: 5, stack size: 2048
    xTaskCreate, name: mac_task, priority: 9, stack size: 2048
    [WLIB_I]cap_comp = -6, xtal_capbank_tab:[0]:34 [1]:29 [2]:29 [3]:29 [4]:44 [5]:64 [6]:64 [7]:64
    [WLIB_I][original]phy_tab_1f:0x56, phy_tab_20:0x3C
    [WLIB_I][efuse]phy_tab_1f:0x52, phy_tab_20:0x38
    [WLIB_I][flash]phy_tab_1f:0x47, phy_tab_20:0x33, tx_pwr_comp_all=0, tx_pwr_comp_b=-5, tx_pwr_comp_gn=-11
    [WLIB_I]==>temp_sect:2,phy_tab_1f:0x47,phy_tab_20:0x33
    [WLIB_I]gw_wsm.stat:0
    [01-01 00:00:02 ty N][lr:0x1008dd63] gw_cntl->gw_if.abi:0 input:0
    [01-01 00:00:02 ty N][lr:0x1008dd71] gw_cntl->gw_if.product_key:uqehhcrmk5depvtl, input:uqehhcrmk5depvtl
    [01-01 00:00:02 ty N][lr:0x1008dd7d] gw_cntl->gw_if.tp:0, input:0
    [01-01 00:00:02 ty N][lr:0x1008e395] enter success_proc
    [tkl_wifi_get_mac:1227] if: 0, mac: 18:de:50:4c:7c:61
    ble_mac: 62:7c:4c:50:de:18
    [01-01 00:00:02 ty N][lr:0x1008e3a9] serial_no:18de504c7c61
    [01-01 00:00:02 ty E][lr:0x1009a2ab] read wf start mode err:-6
    [01-01 00:00:02 ty E][lr:0x100cba2d] uf_open LIGHT_MODE err 8
    [01-01 00set work mode 3, is open 1, current ln mode: 0
    current:00:02 ty E][lr:0x1006e481] uf file LIGHT_MODE can't open and read data!
     work mode 0
    [WLIB_I]Disconnected.
    [01-01 00:00:02 ty E][lr:0x100cba2d] uf_open RLY_INIT err 8
    [01-01 00:00:02 ty E][lr:0x1006e481] uf file RLY_INIT can't open and read data!
    [01-01 00:00:02 ty N][lr:0x1006d7b3] tuya_get_relay_init_type is 2
    [01-01 00:00:02 ty N][lr:0x1006da8d] __read_saved_stat
    [01-01 [WLIB_I]LN882H WiFi Lib Ver: 1.1.3 [build time:Apr 20 00:00:02 ty E][lr:0x1006ceb9] ch_idx:[0] is over!
    [01-01 00:00:02 ty E][lr:0x1006e72023 13:54:22][0x010103ff]
    91] input over range
    [01-01[WLIB_I]SoftAP_Startup.
    SoftAP startup!
     00:00:02 ty N][lr:0x1006e9ad] start tuya_inch_time_init..
    [0[WLIB_I]HwInd:UKI:0
    [WLIB_I]Channel scanning not needed
    [WLIB_I]User Preferred channel idx 5-0
    [WLIB_I]Selecting 20MHz ch from One of ... 0 1 2 3 4 5
    [WLIB_I]Selected Channel Tbl Idx 5-0
    [WLIB_I]AP: Starting network in 5-0
    [WLIB_I]Connected.
    [WLIB_I]Status: Start Successful. Entering Enable State.
    1-01 00:00:02 ty N][lr:0x1006ea5b] init read inch info is null!
    [01-01 00:00:02 ty N][lr:0x1006ce45] init read quick info is null!
    [01-01 00:00:02 ty N][lr:0x100723c5] get prod test result!:1
    [01-01 00:00:02 ty N][lr:0x10072561] dltj start success
    [01-01 00:00:02 ty N][lr:0x1006adbb] tuya_measure_chip ok
    [01-01 00:00:02 ty E][lr:0x100cba2d] uf_open temp_energy err 8
    [01-01 00:00:02 ty E][lr:0x1006e481] uf file temp_energy can't open and read data!
    [01-01 00:00:02 ty N][lr:0x10070b37] LOAD NO TIME energy: 0
    [01-01 00:00:03 ty E][lr:0x100cba2d] uf_open day_energy err 8
    [01-01 00:00:03 ty E][lr:0x1006e481] uf file day_energy can't open and read data!
    [01-01 00:00:03 ty N][lr:0x10070b89] have storage ele data: -1
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty N][lr:0x10070b65] LOAD loc_data_energy: 0
    [01-01 00:00:03 ty N][lr:0x10070b6d] LOAD loc_data_time: 0
    [01-01 00:00:03 ty E][lr:0x100cba2d] uf_open over_charge err 8
    [01-01 00:00:03 ty E][lr:0x1006e481] uf file over_charge can't open and read data!
    [01-01 00:00:03 ty N][lr:0x100710b9] read overcharge function: 0
    [01-01 00:00:03 ty N][lr:0x1006adfb] tuya_dltj_init ok
    xTaskCreate, name: timer_task, priority: 3, stack size: 4096
    [01-01 00:00:03 ty I][tal_thread.c:184] thread_create name:timer_task,stackDepth:4096,totalstackDepth:30208,priority:3
    [01-01 00:00:03 ty N][lr:0x100702ef] wd_common_read failed op_ret:-6
    [01-01 00:00:03 ty N][lr:0x100702ef] wd_common_read failed op_ret:-6
    [01-01 00:00:03 ty N][lr:0x100702ef] wd_common_read failed op_ret:-6
    [01-01 00:00:03 ty N][lr:0x1006ae99] device_init ok  free_mem_size:112344
    [WLIB_I]Disconnected.
    [WLIB_I]Channel scanning not needed
    [WLIB_I]User Preferred channel idx 5-0
    [WLIB_I]Selecting 20MHz ch from One of ... 0 1 2 3 4 5
    [WLIB_I]Selected Channel Tbl Idx 5-0
    [WLIB_I]AP: Starting network in 5-0
    [WLIB_I]Connected.
    [WLIB_I]Status: Start Successful. Entering Enable State.
    tkl_thread_release, name: tuya_app_
    [tkl_wifi_get_mac:1227] if: 0, mac: 18:de:50:4c:7c:61
    ble_mac: 62:7c:4c:50:de:18
    [tkl_wifi_get_mac:1227] if: 1, mac: 18:de:50:4c:7c:60
    ble_mac: 62:7c:4c:50:de:18
    ssid:SmartLife-7C61; pwd:; channel:6, ecn:0, max conn:1, hidden:0beacon:100, mac:18:de:50:4c:7c:60; start:1
    [WLIB_I]Disconnected.
    ip info:
            ip:      192.168.176.1
            gw:      192.168.176.1
            netmask: 255.255.255.0
    server config:
            ip:       192.168.176.1
            ip start: 192.168.176.2
            ip end:   192.168.176.2
    port:67
    lease:2880
    renew:2880
    max client:1
    [WLIB_I]LN882H WiFi Lib Ver: 1.1.3 [build time:Apr 20 2023 13:54:22][0x010103ff]
    [WLIB_I]SoftAP_Startup.
    SoftAP startup!
    ap_startup_cb 137, wifi softap up
    ------- dhcp stop ----------
    -------DUMP DHCP SERVER_CONFIG----------
    server_config.server=192.168.176.1
    server_config.port=67
    server_config.lease=2880
    server_config.renew=2880
    server_config.ip_start=192.168.176.2
    server_config.ip_end=192.168.176.2
    server_config.max=1
    -----------------END--------------
    IP_POOL: i=0 192.168.176.2
    xTaskCreate, name: dhcpd, priority: 4, stack size: 1280
    dhcpd_task start...
    [WLIB_I]HwInd:UKI:0
    [WLIB_I]Channel scanning not needed
    [WLIB_I]User Preferred channel idx 5-0
    [WLIB_I]Selecting 20MHz ch from One of ... 0 1 2 3 4 5
    [WLIB_I]Selected Channel Tbl Idx 5-0
    [WLIB_I]AP: Starting network in 5-0
    [WLIB_I]Connected.
    [WLIB_I]Status: Start Successful. Entering Enable State.
    [WLIB_I]Disconnected.
    [WLIB_I]Channel scanning not needed
    [WLIB_I]User Preferred channel idx 5-0
    [WLIB_I]Selecting 20MHz ch from One of ... 0 1 2 3 4 5
    [WLIB_I]Selected Channel Tbl Idx 5-0
    [WLIB_I]AP: Starting network in 5-0
    [WLIB_I]Connected.
    [WLIB_I]Status: Start Successful. Entering Enable State.
    [01-01 00:00:03 ty N][lr:0x10097d5b] cur stat:13  0x1006c7f1 -->>
    [01-01 00:00:03 ty N][lr:0x10097d95] wifi netstat changed to:13  -->>
    [01-01 00:00:03 ty N][lr:0x10097dab] report wifi netstat[13] to callback  -->>
    [01-01 00:00:03 ty N][lr:0x1006c813] net stat 13 change free_mem_size:114872
    [01-01 00:00:03 ty N][lr:0x10099fd5] timer stated, short timer:0x0, long timer:0x10099e15
    [01-01 00:00:03 ty N][lr:0x100bba03] bt startup attr:ff
    [01-01 00:00:03 ty N][lr:0x1007cb87] upd product_id type:0 uqehhcrmk5depvtl
    xTaskCreate, name: host_main_thread_hdl, priority: 8, stack size: 5120
    [01-01 00:00:03 ty I][tal_thread.c:184] thread_create name:host_main_thread_hdl,stackDepth:5120,totalstackDepth:35328,priority:8
    [01-01 00:00:03 ty I][lr:0x100a7915] le acl buf sz = 251,max buf = 5
    
    [01-01 00:00:03 ty I][lr:0x100a6333] acl buf sz = 251, max pkt = 5, avail pkt = 5
    
    [01-01 00:00:03 ty I][lr:0x100a7ddd] GAP init: stop adv
    [01-01 00:00:03 ty I][lr:0x10075085] ble_hs_timer reset:100
    [01-01 00:00:03 ty I][lr:0x100777e9] Stack sync
    [01-01 00:00:03 ty I][lr:0x100777c9] Init/Deinit Event
    [01-01 00:00:03 ty N][lr:0x1007cb49] ty bt sdk init success finish
    [01-01 00:00:03 ty N][lr:0x100a8303] Start Adv
    [01-01 00:00:03 ty N][lr:0x1008e6a7] __devos_init_evt success
    [01-01 00:00:03 ty I][lr:0x100a7ddd] GAP init: stop adv
    [01-01 00:00:03 ty I][lr:0x10075085] ble_hs_timer reset:0
    [01-01 00:00:03 ty N][lr:0x100a8303] Start Adv
    [01-01 00:00:03 ty N][lr:0x1007c6f9] ble adv updated
    xTaskCreate, name: TCP_ap_v4, priority: 5, stack size: 3584
    [01-01 00:00:03 ty I][tal_thread.c:184] thread_create name:TCP_ap_v4,stackDepth:3584,totalstackDepth:38912,priority:5
    [tkl_wifi_get_mac:1227] if: 0, mac: 18:de:50:4c:7c:61
    ble_mac: 62:7c:4c:50:de:18
    [tkl_wifi_get_mac:1227] if: 1, mac: 18:de:50:4c:7c:60
    ble_mac: 62:7c:4c:50:de:18
    [01-01 00:00:03 ty E][lr:0x10095691] timer is not run,wait
    [01-01 00:00:03 ty I][lr:0x10075189] ble_hs_timer_exp:
    adc raw:  773, temp_IC: 26, cap:0x9D331D00, rf43:0x0005, reg74:0x0228


    Dodano po 3 [godzinach] 1 [minucie]:

    Próbowałem odczytać flash przez RXD1/TXD1 z bk7231flasher, ale bez powodzenia.
  • #6 20794488
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2
    Znaleziono pakiet SDK na githubie, który może pomóc: github.com/lightningsemi/ln882h

    Czy jest jakaś szansa, aby to działało jako „OpenBeken”?
  • #7 20811099
    hard3d
    Poziom 7  
    Posty: 19

    Dzień dobry! Mam przekaźnik na tym chipie. Program CozyLife jest potrzebny do zarządzania.
    Widok z góry na moduł przekaźnika z oznaczeniami specyfikacji elektrycznej. Zbliżenie na płytkę drukowaną z różnymi komponentami elektronicznymi. Zbliżenie na układ scalony LN-02 na czarnym tle. Zbliżenie na płytkę elektroniczną z niebieskimi kondensatorami i chipem.
  • #8 20822301
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    @p.kaczmarek2 Czy znalazłeś czas, aby rzucić okiem na SDK dla tego układu? Jeśli tak, to czy myślisz, że dałoby się zrobić dla niego openbeken?
  • #9 20822315
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Jeszcze nie, ale jeśli masz ten układ, czy możesz spróbować, czy flasher dla tego układu działa z UART? Czy możliwe jest odczytanie zrzutu oprogramowania układowego lub flashowanie nowego?
    Pomogłem? Kup mi kawę.
  • #10 20824130
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Ok, wygląda na to, że jest szansa na flashowanie za pomocą J-Link (JTAG). Spróbuję.
  • #11 20824141
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Hm, więc nie ma bootloadera UART?
    Pomogłem? Kup mi kawę.
  • #12 20824160
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Nie jestem do końca pewien. Ale znalazłem to na stronie Tuya, co daje mi pewność:
    Zrzut ekranu ze strony Tuya z dokumentacją dotyczącą GPIO i opisami złączy.
  • #13 20824192
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Tuya może mieć własny bootloader, który jest oddzielny od LN882HK SDK, ale możemy nie mieć jeszcze do niego dostępu.

    Oto przetłumaczone maszynowo readme z SDK:
    
    LN882H SDK Introduction
    Compilation Methods
    
    Keil MDK
    Environment Setup
    Refer to the document LN882H Keil ARMCC Development Environment Setup Guide.pdf for environment setup.
    User Project Selection
    The user project is located in project/xxxx, for example, the wifi_mcu_basic_example project. Open the Keil project in the subdirectory, and click the Compile, Download, Debug buttons in the Keil IDE interface to perform the corresponding functions.
    
    CMake+GCC
    Environment Setup
    Refer to the document lightningsemi_sdk_cross_build_setup.pdf for environment setup.
    User Project Selection
    The project is organized using the CMakeLists.txt file. The top-level CMakeLists.txt selects the user project with the following instruction:
    
    ################################################################################
    ######################### NOTE: select user project here ####################
    ################################################################################
    set(USER_PROJECT wifi_mcu_basic_example)
    User Project Compilation and Download
    Initiate compilation and download actions using the script start_build.py. Usage is as follows:
    
    *****************************  usage  *****************************
    argv[1] -- build action, such as clean/config/build/rebuild/jflash.
    Example:
                python3   start_build.py   rebuild
    *******************************************************************
    Clean results: python3 start_build.py clean
    Configure project: python3 start_build.py config
    Compile project: python3 start_build.py build
    Clean, configure, and compile combined: python3 start_build.py rebuild
    Flash the image file: python3 start_build.py jflash
    


    Dodano po 1 [minucie]:

    Oto skrypt flash, widoczny w SDK:
    Kod: Python
    Zaloguj się, aby zobaczyć kod
    .
    Pomogłem? Kup mi kawę.
  • #14 20826012
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Z Segger J-Link, jestem w stanie wymazać/flashować chip przez SWD. Więc sflashowałem obraz SPI OpenBK7231T_QIO_1.17.318.bin, ale żadnych komunikatów o uruchomieniu. Domyślam się, że bootloader nie pasuje do tego urządzenia.
    Czy możesz zasugerować obraz, który mógłbym spróbować sflashować?

    Według https://github.com/lightningsemi/ln882h/tree/master/project/bootcode , powinno być również możliwe flashowanie przez UART.
    .
  • #15 20826038
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Hej, to zupełnie inny chip, obraz BK nie będzie na nim działał.

    Mimo to to bardzo dobra wiadomość, że udało Ci się go sflashować, czy możesz pokazać swoje połączenia na płycie?

    Następnym krokiem byłoby sprawdzenie, czy możemy skompilować próbkę hello world z ich SDK, a następnie pobrać tę binarną wersję hello world i sflashować na chipie. Czy możesz tego spróbować?

    Mogę później pomóc w portowaniu OBK.
    Pomogłem? Kup mi kawę.
  • Pomocny post
    #16 20826073
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2
    Tutaj pinout, którego używam:
    Diagram pinout przedstawiający połączenia między złączem i modułem.

    Właśnie zainstalowałem KEIL i staram się postępować zgodnie z instrukcjami podręcznika, jak zainstalować środowisko programistyczne.
    W SDK jest kilka przykładowych projektów, spróbuję skompilować i uruchomić niektóre.
  • #17 20835290
    voodoopt
    Poziom 9  
    Posty: 30

    Witam, mam ten sam problem. Próbowałem zrozumieć, jak mogę umieścić coś w 100% lokalnego
    Podobnie jak OpenWrt lub Tasmota ;)
    Zbliżenie na płytkę drukowaną z chipem oznaczonym jako LIGHTNING LN882HKI.
    mój ic
  • #18 20835317
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Musimy sprawdzić, czy przykładowe kody się kompilują i czy można je sflashować
    Pomogłem? Kup mi kawę.
  • #19 20836818
    voodoopt
    Poziom 9  
    Posty: 30
    p.kaczmarek2 napisał:
    Musimy sprawdzić, czy przykładowe kody się kompilują i czy można je sflashować

    Jak mogę pomóc ?
  • #20 20836820
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Jeśli masz doświadczenie w C, spróbuj skompilować i flashować przykłady z SDK wspomnianego w poprzednich postach. Może to przyspieszyć działanie i zapewnić mi bazę dla mojego portu OBK.
    Pomogłem? Kup mi kawę.
  • #21 20836870
    voodoopt
    Poziom 9  
    Posty: 30
    Nie mam zbyt dużej wiedzy na temat programowania....
  • #22 20839607
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Udało mi się skonfigurować KEIL i skompilować projekt z SDK. Niestety, skompilowany rozmiar przekracza limit darmowej wersji KEIL.
    Muszę więc pomyśleć o czymś innym, może o Segger Embedded Studio.
    @p.kaczmarek2 Czy możecie polecić jakiś (darmowy) produkt?
  • #23 20840280
    protectivedad
    Poziom 9  
    Posty: 40
    Pomógł: 2
    Ocena: 5
    sithyoda napisał:

    Udało mi się skonfigurować KEIL i skompilować projekt z SDK. Niestety, skompilowany rozmiar przekracza limit darmowej wersji KEIL.
    Muszę więc pomyśleć o czymś innym, może o Segger Embedded Studio.
    @p.kaczmarek2 Czy możecie polecić jakiś (darmowy) produkt?


    Jakie jest ograniczenie rozmiaru? Czy to się kompiluje, czy przesyła do chipa? Nie znam KEIL-a. To właśnie pojawiło się na githubie Myśliciel AI . Udało mi się pobrać z tego zestaw narzędzi i skompilować combo_mcu_basic_example do pliku oprogramowania sprzętowego flashimage.bin. Ale nie mam J-cokolwiek, żeby to przesłać i nie wiem, jak OTA lub UART LN882H. Mam płytkę LN-02 z mini przełączników, które były sprzedawane na AliExpress (1,99 USD) przez ostatni miesiąc. Czy mogę użyć taniej podróbki J-?? poza Amazonem, żeby to napisać? Do tej pory robiłem tylko UART. Nie jestem pewien, jak działają. Wskazanie mi niedrogiego sprzętu, który pomógłby mi napisać te rzeczy, byłoby mile widziane.


    Dodano po 2 [godzinach] 9 [minutach]:

    Myślałem, że zaktualizowałem to, dodając więcej informacji. Nie mam żadnych komunikatów, że zrobiłem źle, więc spróbuję jeszcze raz. AI-Thinker ma dwa moduły korzystające z LN882H. Nie udało mi się znaleźć informacji na temat ich flashowania poza wyciągnięciem gpioA9 w celu przejścia w tryb nagrywania. Znalazłem plik oprogramowania sprzętowego. Przełączyłem także kartę w tryb nagrywania i mogę wpisać i uzyskać odpowiedź:
    Cytat:
    nieznane cmd!


    Podsumowując:
    Widzę uruchomienie oprogramowania sprzętowego CozyLife. Mogę rozmawiać z oprogramowaniem CozyLink za pomocą programu Netcat, aby je skonfigurować i kontrolować. Mogę przełączyć go w tryb nagrywania i uzyskać z niego odpowiedzi. Mogę skompilować dema. Po prostu nie mogę ich umieścić w module. Aha, i mój moduł nie ma dostępnego gpioA4, co sprawia, że korzystanie z J-Link jest problemem. Tak więc, dopóki nie będzie więcej informacji na temat poleceń do wypróbowania, OTA lub lutuję gpioA4 i dostaję J-Link, myślę, że utknąłem.

    PS:
    Ten wątek zawiera najwięcej informacji na temat LN882H, więc chociaż pracuję nad LN-02, a nie WL2S, mam nadzieję, że mogę tu opublikować post. Ponieważ wydają się być bardzo blisko spokrewnieni.
  • #24 20841102
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    W końcu udało mi się skompilować przykład z SDK w KEIL i udało mi się go pomyślnie wgrać na chip.
    Zrzut ekranu z programu SEGGER J-Flash pokazujący projekt firmware oraz log operacji na pamięci flash.

    Jeśli powiesz mi, jak skompilować OpenBK, spróbuję.
  • #25 20841164
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Czy możesz najpierw sprawdzić, czy ten przykładowy plik binarny działa? Czy są jakieś przykłady, takie jak hello world demu, próbka UART, migająca dioda LED, demonstracja Wi-Fi?
    Pomogłem? Kup mi kawę.
  • #26 20843185
    protectivedad
    Poziom 9  
    Posty: 40
    Pomógł: 2
    Ocena: 5

    sithyoda napisał:
    W końcu udało mi się skompilować przykład z SDK w KEIL i udało mi się go pomyślnie wgrać na chip.


    Czy udało Ci się połączyć ze swoim punktem dostępowym za pomocą wifi_mcu_basic_example?
  • #27 20844958
    voodoopt
    Poziom 9  
    Posty: 30
    >>20841102
    Spektakularne. Jeśli potrzebujesz kogoś, kto to przetestuje, jestem do Twojej dyspozycji
  • #28 20845482
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    Mogę potwierdzić, że podstawowe przykłady z pakietu SDK kompilują się dobrze, można je sflashować, a chip uruchamia się.
    Oto próbka wyjścia na UART TX:
    [code:1:a40610a5b8]------ wifi_mcu_basic_example ------
    TCP/IP initialized.
    LN882H SDK Ver: 1.8 [build time: Dec 4 2023 06:11:55][0x010800ff]
    [WLIB_I] LN882H WiFi Lib Ver: 1.1.3 [build time: Apr 17 2023 10:46:01][0x010103ff]
    [WLIB_I] cap_comp = 0, xtal_capbank_tab:[0]:40 [1]:35 [2]:35 [3]:35 [4]:50 [5]:70 [6]:90 [7]:110
    [WLIB_I][original] phy_tab_1f:0x4C, phy_tab_20:0x3C
    [WLIB_I][efuse] phy_tab_1f:0x48, phy_tab_20:0x38
    [WLIB_I][flash] phy_tab_1f:0x48, phy_tab_20:0x38, tx_pwr_comp_all=0, tx_pwr_comp_b=0, tx_pwr_comp_gn=0
    [WLIB_I]==>temp_sect:2, phy_tab_1f:0x48, phy_tab_20:0x38
    [WLIB_I]
  • #29 20845539
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14765
    Pomógł: 659
    Ocena: 12899
    Przeniesienie OBK na nowy układ jest bardzo proste, wystarczy utworzyć osobny katalog w hal:
    https://github.com/openshwprojects/OpenBK7231T_App/tree/main/src/hal
    i stuknij wszystkie funkcje, tak jak zrobiliśmy to w przypadku W800:
    https://github.com/openshwprojects/OpenBK7231T_App/tree/main/src/hal/w800
    Utwórz pliki takie jak hal_generic_YourPlatform.c itp.:
    Zrzut ekranu katalogu GitHub z plikami dla platformy W800 w projekcie OpenBK7231T_App.
    Zaimplementuj wrappery do sterowania WIFI i GPIO itp.
    Musisz także utworzyć 1-sekundowy licznik czasu dla „co sekundy”, ale wszystko to możesz zobaczyć w warstwach HAL dla różnych platform.

    Do samodzielnej kompilacji zazwyczaj umieszczamy cały katalog OpenBK7231T_App w projekcie „nadrzędnym” z danego SDK, np. dla platformy T umieszczamy OpenBK7231T_App w projekcie OpenBK7231T SDK.

    Dodano po 29 [sekundach]:

    Czy w pakiecie SDK LN882HK dostępna jest biblioteka LWIP? Używamy tego w pakietach SDK do obsługi sieci
    Pomogłem? Kup mi kawę.
  • #30 20845587
    sithyoda
    Poziom 7  
    Posty: 37
    Pomógł: 1
    Ocena: 2

    p.kaczmarek2 napisał:
    Czy w pakiecie SDK LN882HK dostępna jest biblioteka LWIP? Używamy tego w pakietach SDK do obsługi sieci

    Powiedziałbym tak:
    Zrzut ekranu z repozytorium GitHub zawierającego pliki biblioteki związane z projektem ln882h.

    Puh... Reszta brzmi dość skomplikowanie dla kogoś, kto nie interesuje się tak głęboko programowaniem w C.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczyła portowania OpenBeken na moduł WL2S z układem Lightning LN882HK/LN882H stosowanym w urządzeniach ELIVCO LSPA9 i innych produktach Tuya/CozyLife. Początkowo brakowało dokumentacji i bootlogu UART, ale później ustalono, że logi wychodzą na TXD1/TX1, a układ można uruchamiać i programować przez SWD/J-Link oraz przez UART po wejściu w tryb download. Kluczowe okazało się zwarcie GPIOA9 do GND podczas startu oraz użycie narzędzia LN882H_CMD_Tool z odpowiednią prędkością transmisji 115200; wcześniejsze błędy wynikały m.in. z nieprawidłowego baud rate. Potwierdzono możliwość odczytu i zapisu flash, wykonania dumpu firmware oraz backupu OTP, a także odzyskania urządzenia po wyczyszczeniu flash i ponownym wgraniu obrazu. Następnie skompilowano przykładowe projekty z SDK LN882H w KEIL/GCC, uruchomiono je na chipie i rozpoczęto portowanie OpenBeken przez warstwę HAL. Ostatecznie uzyskano działający boot OBK, miganie LED, obsługę GPIO, działający STA oraz przygotowano pierwszy template urządzenia dla OpenBeken; pozostają do dopracowania m.in. OTA, zmienne flash i pełna funkcjonalność sieciowa.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA