【已解决】BenKen V1.63 整片擦除后 烧录UA固件不能运行

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
Post Reply
花露水
Posts: 26

元旦前还程序还能正常跑,用的WindIDE生成的一个点灯Demo,昨天下载的时候改了一下固件名字,发现没法下载,就选了 整片擦除,然后下进去没法用了,只有UA固件地址0x11000Debug串口什么东西也没有,然后我改成了QIO的固件地址0x00,Debug刚开始还有日志,后来再刷UA固件,还是不能正常运行

yangjie
Posts: 208

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

花露水 2023年 Jan 4日 13:58

元旦前还程序还能正常跑,用的WindIDE生成的一个点灯Demo,昨天下载的时候改了一下固件名字,发现没法下载,就选了 整片擦除,然后下进去没法用了,只有UA固件地址0x11000Debug串口什么东西也没有,然后我改成了QIO的固件地址0x00,Debug刚开始还有日志,后来再刷UA固件,还是不能正常运行

整片擦除后bootload也被擦除了,QIO 固件中有 bootload,需要烧录下 QIO 固件(起始地址需要修改为0x00000000)。下图为烧录 QIO 的配置:

bk7231n_qio.png

之后如果需要再烧录UA固件,起始地址需要修改为 0x00011000

花露水
Posts: 26

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

我刚才重新下载了QIO,但是配网没法用了,很奇怪

花露水
Posts: 26

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

附件里是日志

Attachments
BeKen烧录.txt
(3.36 KiB) Downloaded 127 times
yangjie
Posts: 208

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

花露水 2023年 Jan 4日 15:44

附件里是日志

应该是 KV flash 没有初始化导致的。有两种方法可以解决:

  1. 使用生产解决方案中的云模组工具进行烧录授权
  2. 在代码中加入 KV 初始化的代码:

    Code: Select all

    #include "tuya_ws_db.h"
    ...
    ws_db_init_mf();
    
    kv_init.png

注意:方法二在正式生产中不可使用,只能在调试开发过程中使用

你这里在对模组进行整片擦除,模组内的授权信息也就没了,推荐使用方式一对模组进行一次烧录授权。你也可以通过代码将 UUID 和 authkey 写入flash 中,关于代码写入授权信息的方式你可以参考 SDK 中带的 tuyaos_demo_quickstart 示例:

write_uuid.png
Last edited by yangjie on 2023年 Jan 5日 09:39, edited 1 time in total.
花露水
Posts: 26

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

我试试

花露水
Posts: 26

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

还是不能配网,也进不去线程

Code: Select all

TATIC VOID_T user_main(VOID_T)
{
    OPERATE_RET rt = OPRT_OK;

// Initialization, because DB initialization takes a long time, 
// which affects the startup efficiency of some devices, 
// so special processing is performed during initialization to delay initialization of DB    
TY_INIT_PARAMS_S init_param = {0};
init_param.init_db = TRUE;
strcpy(init_param.sys_env, TARGET_PLATFORM);
TUYA_CALL_ERR_LOG(tuya_iot_init_params(NULL, &init_param));

// Initialization LWIP
#if defined(ENABLE_LWIP) && (ENABLE_LWIP == 1)
    TUYA_LwIP_Init();
#endif
    ws_db_init_mf();
    // Initialize device
    PR_DEBUG("device_init");
    TUYA_CALL_ERR_LOG(__soc_device_init());

return;
}
Attachments
加KV_Flash.txt
(3.29 KiB) Downloaded 160 times
yangjie
Posts: 208

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

花露水 2023年 Jan 5日 09:56

还是不能配网,也进不去线程

Code: Select all

TATIC VOID_T user_main(VOID_T)
{
    OPERATE_RET rt = OPRT_OK;

// Initialization, because DB initialization takes a long time, 
// which affects the startup efficiency of some devices, 
// so special processing is performed during initialization to delay initialization of DB    
TY_INIT_PARAMS_S init_param = {0};
init_param.init_db = TRUE;
strcpy(init_param.sys_env, TARGET_PLATFORM);
TUYA_CALL_ERR_LOG(tuya_iot_init_params(NULL, &init_param));

// Initialization LWIP
#if defined(ENABLE_LWIP) && (ENABLE_LWIP == 1)
    TUYA_LwIP_Init();
#endif
    ws_db_init_mf();
    // Initialize device
    PR_DEBUG("device_init");
    TUYA_CALL_ERR_LOG(__soc_device_init());

return;
}

你的 tuyaos是使用的哪一个版本的,你先烧录下SDK里面自带的 tuyaos_demo_quickstart 示例的 QIO

花露水
Posts: 26

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

好了,能正常运行了,是不是烧录QIO的时候不能全擦除?

yangjie
Posts: 208

Re: BenKen V1.63 整片擦除后 烧录UA固件不能运行

花露水 2023年 Jan 5日 10:30

好了,能正常运行了,是不是烧录QIO的时候不能全擦除?

不要全擦,会把一些必要信息给擦掉,导致系统无法正常运行。

你需要把 tuyaos_demo_quickstart 里面的 UUID 和 authkey 改成你的 uuid 和 authkey,不然的话可能会出现设备掉线等问题的。

Post Reply