【已解决】RTL8720cs_3.3.2 编译无法通过
我在代码中有使用到 tal_system.h中的 tal_system_enter_critical 和 tal_system_exit_critical,但编译链接时,提示无法找到相应的方法
我在代码中有使用到 tal_system.h中的 tal_system_enter_critical 和 tal_system_exit_critical,但编译链接时,提示无法找到相应的方法
那两个接口你一定要用么?能用mutex代替么?
没有哦,我已经换成其他接口了。
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
如果产测是用我们自己的,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));
jafil10 2023年 Mar 29日 17:36intf.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 successHard Fault Patch (Non-secure)
Enter CM BackTrace, SP 0x10037470
你那边能看到挂在什么地方么?或者完整的日志发一下看看?
愚者千虑必有一得 2023年 Mar 29日 20:15可以不用的,授权有一个接口可以写入,如果你们的产测可以写扩展,也可以自己写授权:
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));
授权这块我是直接使用你们的授权平台的,不是自己写授权的。这些都是跟其他平台保持一致的,但这个平台上使用就会出问题。
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 会失败。日志我附上了。