【已更新】RTL8720cs_3.3.3 运行crash

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
jafil10
Posts: 81

我重新上验证了一下,编译 tuyaos_demo_quickstart 这个app,启动还是一样的挂掉。日志如下;同时附件我附上了 crash后我通过addr2line工具后的情况,跟之前 3.3.2的现象是一样的。

Initializing WIFI ...[01-01 00:00:00 TUYA D][tuya_ws_db.c:443] init fs. Path: null
[01-01 00:00:00 TUYA D][kv_storge.c:46] *****************kvs_init.
[01-01 00:00:00 TUYA D][simple_flash_protected.c:203] protected init. addr:0x003fb000
[01-01 00:00:00 TUYA E][simple_flash_protected.c:71] protected key data is not matched magic(0x3a2d3e45),crc32(0xe2d8782c)
[01-01 00:00:00 TUYA N][simple_flash.c:938] sf protected init err, need backup
[01-01 00:00:00 TUYA N][simple_flash.c:447] key_addr: 0x3fa000 block_sz 4096
[01-01 00:00:00 TUYA E][simple_flash.c:467] key data is not matched magic(0x3a2d3e45),crc32(0xe2d8782c)
[01-01 00:00:00 TUYA E][simple_flash.c:481] flash is encrypted or empty
[01-01 00:00:00 TUYA N][simple_flash.c:346] protected not valid
[01-01 00:00:00 TUYA E][simple_flash_app.c:288] create_flash_hand_and_init err 10
[01-01 00:00:00 TUYA E][tuya_ws_db.c:446] db init fails -1
[01-01 00:00:00 TUYA E][tuya_iot_com_api.c:365] db init fails -1
[01-01 00:00:00 TUYA E][tuya_app_main.c:391] ret:-1
[01-01 00:00:00 TUYA D][tuya_app
WIFI initialized

init_thread(58), Available heap 0x3d680_main.c:396] device_init in
[01-01 00:00:00 TUYA E][tuya_app_main.c:355] mf_init APP_BIN_NAME[tuyaos_demo_quickstart] USER_SW_VER[1.0.0]
[01-01 00:00:00 TUYA D][mf_core.c:38] mf_core_init success

Hard Fault Patch (Non-secure)
Enter CM BackTrace, SP 0x10023ca8

Firmware name: ./asdk/image/target_img2, hardware version: HW v1.0, software version: SW v1.0
Fault on thread tuya_app_

stact addr 0x10022ee0, size 0xfe4, top 0x10023c18
dump_stack sp point 0x10023d10, task sp 0x10023c18

Attachments
crash_log.txt
(6.25 KiB) Downloaded 40 times
愚者千虑必有一得
Posts: 401

Re: RTL8720cs_3.3.3 运行crash

好的,我们看看能不能复现

jafil10
Posts: 81

Re: RTL8720cs_3.3.3 运行crash

我这边是必现的,不需要什么操作,一上电就出现了。

yangjie
Posts: 182

Re: RTL8720cs_3.3.3 运行crash

jafil10 2023年 Apr 25日 19:57

我这边是必现的,不需要什么操作,一上电就出现了。

这个问题应该是没有授权导致的。

你可以使用代码进行授权,在 tuyaos_demo_quickstart 中的 tuya_app_main.c 打开并正确配置 UUID 和 AUTHKEY 宏,进行授权。

之后如果还有崩溃问题你可以按照以下步骤进行操作:

  1. 对 cs 模组进行全擦除,addr: 0x08000000,size:4096。
  2. 正确配置 UUID 和 AUTHKEY 宏,这两个宏一定要打开,需要 ws_db_init_mf() 函数初始化 KV flash。
    修改 KEY_PIN,LED_PIN 为12,13(之前的默认28,16中的16在 cs 上没有这个引脚)。
  3. 首次上电初始化 kv 之后也会崩溃一次,重启一次就好了
  4. 之后就可以正常配网调试了
jafil10
Posts: 81

Re: RTL8720cs_3.3.3 运行crash

宏UUID和AUTHKEY,这是调试阶段才使用的授权方式。但量产的授权方式是使用“生产解决方案”来授权的,那是不是就没有办法解决了?

yangjie
Posts: 182

Re: RTL8720cs_3.3.3 运行crash

jafil10 2023年 Apr 26日 14:15

宏UUID和AUTHKEY,这是调试阶段才使用的授权方式。但量产的授权方式是使用“生产解决方案”来授权的,那是不是就没有办法解决了?

UUID和AUTHKEY宏关闭后,会走产测也就是“生产解决方案”那条路进行授权,产测流程中也会有 kv 初始化 ws_db_init_mf() 功能的。

jafil10
Posts: 81

Re: RTL8720cs_3.3.3 运行crash

我没有加UUID和AUTHKEY的宏,而是 增加了 ws_db_init_mf() 这条语句,现在擦写flash后,第1次上电还是会crash的,但第2次上电后就好了。

这个第1次上电会crash的问题,是能解决的吗?毕竟这个对生产不友好。

yangjie
Posts: 182

Re: RTL8720cs_3.3.3 运行crash

jafil10 2023年 Apr 28日 09:23

我没有加UUID和AUTHKEY的宏,而是 增加了 ws_db_init_mf() 这条语句,现在擦写flash后,第1次上电还是会crash的,但第2次上电后就好了。

这个第1次上电会crash的问题,是能解决的吗?毕竟这个对生产不友好。

这个问题会在下个版本把他解决掉的,我们先看下怎么回事

jafil10
Posts: 81

Re: RTL8720cs_3.3.3 运行crash

另外,我想了解一下,之前 1.2.0 的SDK授权后,再烧录3.3.3版本的SDK,会提示没有授权过,需要重新授权。

这样会导致我想做升级时,没有办法升级。

然后我对了一下 tkl_flash.c 这个文件里设置的分区表,只有一个 protected data 是不一样的。是什么原因导致两个版本的SDK的授权信息不能同步呢?

愚者千虑必有一得
Posts: 401

Re: RTL8720cs_3.3.3 运行crash

jafil10 2023年 Apr 28日 17:23

另外,我想了解一下,之前 1.2.0 的SDK授权后,再烧录3.3.3版本的SDK,会提示没有授权过,需要重新授权。

这样会导致我想做升级时,没有办法升级。

然后我对了一下 tkl_flash.c 这个文件里设置的分区表,只有一个 protected data 是不一样的。是什么原因导致两个版本的SDK的授权信息不能同步呢?

我们2个版本的授权是兼容的,老sdk授权之后升级到新版本sdk,是可以自动兼容,但无法向下降级,降级了就无法授权信息就丢失了。你那边如果遇到升级之后授权丢失了,可以把debubg级别的log发我们看看。

Post Reply