Page 1 of 2
【已更新】RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 25日 19:17
by jafil10
我重新上验证了一下,编译 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
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 25日 19:24
by 愚者千虑必有一得
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 25日 19:57
by jafil10
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 26日 11:58
by yangjie
jafil10 2023年 Apr 25日 19:57
我这边是必现的,不需要什么操作,一上电就出现了。
这个问题应该是没有授权导致的。
你可以使用代码进行授权,在 tuyaos_demo_quickstart 中的 tuya_app_main.c 打开并正确配置 UUID 和 AUTHKEY 宏,进行授权。
之后如果还有崩溃问题你可以按照以下步骤进行操作:
- 对 cs 模组进行全擦除,addr: 0x08000000,size:4096。
- 正确配置 UUID 和 AUTHKEY 宏,这两个宏一定要打开,需要 ws_db_init_mf() 函数初始化 KV flash。
修改 KEY_PIN,LED_PIN 为12,13(之前的默认28,16中的16在 cs 上没有这个引脚)。
- 首次上电初始化 kv 之后也会崩溃一次,重启一次就好了
- 之后就可以正常配网调试了
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 26日 14:15
by jafil10
宏UUID和AUTHKEY,这是调试阶段才使用的授权方式。但量产的授权方式是使用“生产解决方案”来授权的,那是不是就没有办法解决了?
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 27日 11:10
by yangjie
jafil10 2023年 Apr 26日 14:15
宏UUID和AUTHKEY,这是调试阶段才使用的授权方式。但量产的授权方式是使用“生产解决方案”来授权的,那是不是就没有办法解决了?
UUID和AUTHKEY宏关闭后,会走产测也就是“生产解决方案”那条路进行授权,产测流程中也会有 kv 初始化 ws_db_init_mf() 功能的。
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 28日 09:23
by jafil10
我没有加UUID和AUTHKEY的宏,而是 增加了 ws_db_init_mf() 这条语句,现在擦写flash后,第1次上电还是会crash的,但第2次上电后就好了。
这个第1次上电会crash的问题,是能解决的吗?毕竟这个对生产不友好。
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 28日 09:47
by yangjie
jafil10 2023年 Apr 28日 09:23
我没有加UUID和AUTHKEY的宏,而是 增加了 ws_db_init_mf() 这条语句,现在擦写flash后,第1次上电还是会crash的,但第2次上电后就好了。
这个第1次上电会crash的问题,是能解决的吗?毕竟这个对生产不友好。
这个问题会在下个版本把他解决掉的,我们先看下怎么回事
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 Apr 28日 17:23
by jafil10
另外,我想了解一下,之前 1.2.0 的SDK授权后,再烧录3.3.3版本的SDK,会提示没有授权过,需要重新授权。
这样会导致我想做升级时,没有办法升级。
然后我对了一下 tkl_flash.c 这个文件里设置的分区表,只有一个 protected data 是不一样的。是什么原因导致两个版本的SDK的授权信息不能同步呢?
Re: RTL8720cs_3.3.3 运行crash
Posted: 2023年 May 4日 10:03
by 愚者千虑必有一得
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发我们看看。