烧录程序遇到的问题求助



  • 小弟在调试过程中,因程序bug,使程序一直处于串口发送的回调函数中(uart_int_callback callback, void *dummy))。
    由于串口0一直被这个函数占用,导致无法烧入程序。
    请问各位大佬有没有遇到类似的问题?以及是怎么解决的?
    目前尝试过:

    1. 下载工具---> 连接失败或短暂连接成功后写入失败
      0_1618651834891_2354a3bc-0e9d-47d7-81a4-6328a4d42ded-image.png
    2. Keil通过SWD的方式Debug-->能够调试,但退出调试后依旧下不进程序
      0_1618652603538_faa030e3-21df-472a-9ad0-37b35b877300-image.png
    3. FlyMCU--->连接不成功
      0_1618652030258_c6d46383-8b67-405c-8dc6-b7db96240f01-image.png
      这是通过逻辑分析仪抓取到的串口波形,发现串口一直在打印uart0_write_for_hci(bufptr, size, callback, NULL)的callback函数中的打印程序:
      0_1618652123269_8d613251-3024-43fd-b571-f2c6d70288cf-image.png
      0_1618652145632_d9ab5fae-cbf1-4cba-bc8a-619819d9b72f-image.png


  • 问题解决了。。。
    1.升级keil到5.14,对芯片进行擦除操作。
    0_1618654459347_a91cbe64-33fa-4338-9ff8-f594688b5364-image.png
    2.重新使用烧录工具烧录成功