ISP带电自动下载问题请教
各位大佬好,我现在的产品需要在带电情况下下载更新软件。我目前是这样处理:
程序设计:开UART(波特率115200),当接受到下载特征字0X7F 若干次次后复位。
如果用ISP软件,必须设置波特率为115200(如下图),才可以实现不断电更新软件。
当我用ISP 发布程序:,生成的.EXE文件,不能更新软件。
请问,要如何处理?谢谢
你复位咋实现的?是不是还是复位到用户程序了? hsrzq 发表于 2024-8-8 11:14
你复位咋实现的?是不是还是复位到用户程序了?
芯片复位后,会自动进入bl部分,用ISP已经可以实现不断电升级。
我的问题是用ISP生成的程序,无法实现断点升级。
原因可能在于:生成的程序在切换波特率,导致芯片的程序无法实现芯片复位。 搞好了。结帖。 不要使用收到7F复位,使用用户自定义下载命令
DebugLab 发表于 2024-8-8 11:56
不要使用收到7F复位,使用用户自定义下载命令
用7F有什么隐患没,之前一直这样处理的。 STC_STC 发表于 2024-8-8 13:46
用7F有什么隐患没,之前一直这样处理的。
建议波特率默认最低2400最高115200不要动,否则可能影响正常下载
用一串0x7F作为下载命令,容易和正常的数据冲突,还需要调到别的波特率接收
我之前是这样做的
以2400bps发
以1200bps收是0x80
以2400bps收是0xF8
以4800bps收是0xFE
以9600bps收是0x7F
收到这几个都进入下载状态
还能凑合用
但不建议 7f还不如自定义指令进入ISP模式 DebugLab 发表于 2024-8-8 14:11
建议波特率默认最低2400最高115200不要动,否则可能影响正常下载
用一串0x7F作为下载命令,容易和正常的 ...
好的,谢谢,不过我这个串口仅仅用于下载,没有其他通讯需求,所以数据冲突不用考虑。{:smile:}
页:
[1]