请问CH565W变砖如何解决

起因是调试ETH\TCPServer例程,跑到WCHNET_GetMacAddr(MACAddr)里FLASH_ROMA_READ()芯片就飞了,SWD无反应。

此时可以用ISP工具解决。

尝试GET_UNIQUE_ID(),跑到这里芯片也飞了,感觉是内部FLASH相关的API一调用就挂。

看库的头文件信息

* File Name          : ISPEM569.h

* Author             : WCH

* Version            : V1.0

* Date               : 2024/01/12


多尝试了几次以后,现在ISP一点反应都没有,USB和串口都没反应。


您好

可以测试下PA13接地再重新上电测试是否由于BOOT脚被切换到了PA13导致进不去BOOT。

另外CH565评估板可能会遇上烧录时开启了RST功能导致板子持续处于复位状态,解决办法是去掉R36电阻(本意是用于网络中断引脚)


断开R36可以进到Boot。

main()中添加5s延迟避免再飞无法使用SWD。

现在还是会卡在GET_UNIQUE_ID()。

    uint8_t i;

    SystemInit(FREQ_SYS);
    Delay_Init(FREQ_SYS);
    DebugInit(115200);                                      //USART initialize

    printf("Hello world!\n");
    printf("1!\n");
    mDelaymS(1000);
    printf("2!\n");
    mDelaymS(1000);
    printf("3!\n");
    mDelaymS(1000);
    printf("4!\n");
    mDelaymS(1000);
    printf("5!\n");
    mDelaymS(1000);

    PRINT("Start @ChipID=%02X\r\n", R8_CHIP_ID);

    /* unique ID */
    GET_UNIQUE_ID(my_buffer);
    PRINT("chip id: ");
    for(i = 0; i < 8; i++)
        PRINT("%02x ", my_buffer[i]);
    PRINT("\n");

使用FLASH例程中的代码,打印到Start @ChipID=65,FLASH例程是正常的。


修改内存分配RAMX 64KB + ROM 64KB解决。


只有登录才能回复,可以选择微信账号登录