STC32G无线下载问题
在使用lora模块串口无线更新AP程序时,发现 强制执行Dfu程序和软复位指令必须放在主函数中(图1),不能用外部中断触发(图2)。经过测试发现是:复位的问题,如果复位放在中断中则无法执行到,导致DFU模式下更新程序后无法在线正常运行。
请问各位大佬:
1、是否可以将软复位放在ISP程序中,执行完DFU下载后在ISP程序中复位到AP程序执行?
2、如何生成ISP 的hex文件(keil怎么设置?是否需要像生成AP的hex文件一样限制rom地址?)
程序更新完成后是执行AP程序,所以触发再次更新的指令也需要在AP程序里面执行。
如果想放在中断里面触发的话,需要确保中断函数能够正常执行,这就需要同步配置好用户ISP程序,与用户AP程序的中断偏移地址。
用户ISP程序,与用户AP程序的配置方法,官方提供的在线升级例程包里面有介绍,下载地址:https://www.stcaimcu.com/plugin.php?id=mdown:index#/~cateid=9&key= 乘风飞扬 发表于 2024-2-19 17:58
程序更新完成后是执行AP程序,所以触发再次更新的指令也需要在AP程序里面执行。
如果想放在中断里面触发的 ...
大佬,能否求助下关于无线下载的问题。我在淘宝上买了个stc32g12k128,在stc-isp的资料下载->用户自定义ISP->STC32G12K128系列用户ISP范例(UART模式),找到了相关的例程和文档。我安装文档的教程一步一步进行,发现可以无线烧录,但是烧录的程序不能正常运行。比如,我先烧录了isp程序,然后用串口烧录了自己的代码,里面是初始化引脚后让P20为0,即系统板的led常亮,但是烧录后发现无法正常运行,led不是常亮,变成了每0.5s闪烁一次。不管怎么写代码,led灯都是常亮,请问您有什么头绪吗?而且我发现,我写P20 = 1编译和P20 = 0编译出来的hex内容完全一样,不知道这是否正常?
烧录后发现无法正常运行,led不是常亮,变成了每0.5s闪烁一次。不管怎么写代码,led灯都是常亮------描述前后不一致
写P20 = 1编译和P20 = 0编译出来的hex内容完全一样--肯定不正常,把优化级别改成0再试试
建议把用户ISP和用户AP的代码放上来,不要让大家猜。
页:
[1]