Page 1 of 3

【已解决】RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 16:45
by jafil10

我在代码中有使用到 tal_system.h中的 tal_system_enter_critical 和 tal_system_exit_critical,但编译链接时,提示无法找到相应的方法


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 16:57
by 愚者千虑必有一得

那两个接口你一定要用么?能用mutex代替么?


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 17:18
by jafil10
愚者千虑必有一得 2023年 Mar 29日 16:57

那两个接口你一定要用么?能用mutex代替么?

没有哦,我已经换成其他接口了。


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 17:36
by jafil10

intf.uart_init = mf_uart_init_callback;
intf.uart_free = mf_uart_free_callback;
intf.uart_send = mf_uart_send_callback;
intf.uart_recv = mf_uart_recv_callback;

Code: Select all

intf.gpio_test = mf_gpio_test_cb;
intf.mf_user_product_test = mf_user_product_test_callback;
intf.user_callback = mf_user_callback;
intf.user_enter_mf_callback = mf_user_enter_mf_callback;
intf.user_pre_gpio_test = mf_pre_gpio_test_cb;

TUYA_CALL_ERR_RETURN(mf_init(&intf, APP_BIN_NAME, USER_SW_VER, TRUE));
return OPRT_OK;

我在这个平台上,初始化 mf_init,系统跑起来就直接挂了,其他的我都没有运行。麻烦帮忙看看。日志如下:
init_thread(58), Available heap 0x3d9c0[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_module_demo.c:1304] ret:-1
[01-01 00:00:00 TUYA D][tuya_module_demo.c:1307] device_init in
[01-01 00:00:00 TUYA D][mf_core.c:38] mf_core_init success

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


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 17:52
by jafil10

如果产测是用我们自己的,mf_init接口是不是不需要?我印象中授权的话,是需要用到这个接口的吧?


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 20:12
by 愚者千虑必有一得
jafil10 2023年 Mar 29日 17:52

如果产测是用我们自己的,mf_init接口是不是不需要?我印象中授权的话,是需要用到这个接口的吧?

可以不用的,授权有一个接口可以写入,如果你们的产测可以写扩展,也可以自己写授权:


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 20:15
by 愚者千虑必有一得
jafil10 2023年 Mar 29日 17:52

如果产测是用我们自己的,mf_init接口是不是不需要?我印象中授权的话,是需要用到这个接口的吧?

可以不用的,授权有一个接口可以写入,如果你们的产测可以写扩展,也可以自己写授权:

Code: Select all

    WF_GW_PROD_INFO_S prod_info = {UUID, AUTHKEY};
    TUYA_CALL_ERR_RETURN(tuya_iot_set_wf_gw_prod_info(&prod_info));

Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 20:19
by 愚者千虑必有一得
jafil10 2023年 Mar 29日 17:36

intf.uart_init = mf_uart_init_callback;
intf.uart_free = mf_uart_free_callback;
intf.uart_send = mf_uart_send_callback;
intf.uart_recv = mf_uart_recv_callback;

Code: Select all

intf.gpio_test = mf_gpio_test_cb;
intf.mf_user_product_test = mf_user_product_test_callback;
intf.user_callback = mf_user_callback;
intf.user_enter_mf_callback = mf_user_enter_mf_callback;
intf.user_pre_gpio_test = mf_pre_gpio_test_cb;

TUYA_CALL_ERR_RETURN(mf_init(&intf, APP_BIN_NAME, USER_SW_VER, TRUE));
return OPRT_OK;

我在这个平台上,初始化 mf_init,系统跑起来就直接挂了,其他的我都没有运行。麻烦帮忙看看。日志如下:
init_thread(58), Available heap 0x3d9c0[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_module_demo.c:1304] ret:-1
[01-01 00:00:00 TUYA D][tuya_module_demo.c:1307] device_init in
[01-01 00:00:00 TUYA D][mf_core.c:38] mf_core_init success

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

你那边能看到挂在什么地方么?或者完整的日志发一下看看?


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 20:59
by jafil10
愚者千虑必有一得 2023年 Mar 29日 20:15
jafil10 2023年 Mar 29日 17:52

如果产测是用我们自己的,mf_init接口是不是不需要?我印象中授权的话,是需要用到这个接口的吧?

可以不用的,授权有一个接口可以写入,如果你们的产测可以写扩展,也可以自己写授权:

Code: Select all

    ws_db_init_mf();
    WF_GW_PROD_INFO_S prod_info = {UUID, AUTHKEY};
    TUYA_CALL_ERR_RETURN(tuya_iot_set_wf_gw_prod_info(&prod_info));

授权这块我是直接使用你们的授权平台的,不是自己写授权的。这些都是跟其他平台保持一致的,但这个平台上使用就会出问题。


Re: RTL8720cs_3.3.2 编译无法通过

Posted: 2023年 Mar 29日 21:02
by jafil10

intf.gpio_test = mf_gpio_test_cb;
intf.mf_user_product_test = mf_user_product_test_callback;
intf.user_callback = mf_user_callback;
intf.user_enter_mf_callback = mf_user_enter_mf_callback;
intf.user_pre_gpio_test = mf_pre_gpio_test_cb;

我通过实验,发现是这些callback有问题,如果我把 user_pre_gpio_test直接注释了,是不会挂的,但 mf_init 会失败。日志我附上了。

8720cs_crash_log.txt
(10.69 KiB) Downloaded 167 times