求助!!利用STC的IAP单片机开发自己的ISP程序-STC32G12K128系列如何使用???
有没有大佬说一下这个 要怎么用 看例程不太懂这个其实是通过将EEPROM设定为整个程序范围,从而保证程序可以自己改自己。
DFU标志其实是通过跳转用户ISP的时候不需要断电,变量不会清除实现的。
简单来说就是塞进去了两套程序,通过跳转不同的地址实现两套程序各自的运行。 本帖最后由 无问西东 于 2024-11-28 16:50 编辑
王昱顺 发表于 2024-11-28 16:35
这个其实是通过将EEPROM设定为整个程序范围,从而保证程序可以自己改自己。
DFU标志其实是通过跳转用户ISP ...
好的,太感谢您了。我还想问问,那要怎么实现两套程序的存储呢,需要在工程里添加什么代码
想用UART实现,工程是基本写完了,但这个ISP不知道在现有工程何处添加相关代码
无问西东 发表于 2024-11-28 16:48
好的,太感谢您了。我还想问问,那要怎么实现两套程序的存储呢,需要在工程里添加什么代码
想用UART实现 ...
想要修改isp的话,需要注意中断部分问题:
有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯技术交流网站 - AI32位8051交流社区
如果仅仅是加入isp功能,可以直接移植官方的isp程序
自己程序中移植加入dfu置位和跳转就可以了。
两部分程序的拼接详见:
32G12K128的BOOT和APP合并教程 - ISP下载/做自己的ISP 国芯技术交流网站 - AI32位8051交流社区
王昱顺 发表于 2024-11-28 17:07
想要修改isp的话,需要注意中断部分问题:
有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯 ...
好的,感谢大佬!!!我先看看消化一下! 王昱顺 发表于 2024-11-28 17:07
想要修改isp的话,需要注意中断部分问题:
有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯 ...
大佬,我还想麻烦问问 就是这个官方教程是把ISP和Demo同时塞入同一块芯片的不同地址,通过地址跳转来实现远程升级的对吗 现在我已经写好一个工程需要远程升级,是不是只需要将我的工程结合官方Demo(或者说在官方Demo里添加我想实现的工程)再加上官方ISP程序就可以实现远程升级了。 无问西东 发表于 2024-12-5 10:55
大佬,我还想麻烦问问 就是这个官方教程是把ISP和Demo同时塞入同一块芯片的不同地址,通过地址跳转来实现 ...
是的,你可以直接在官方Demo的工程里添加自己的代码,就可以完成远程升级了。
或者本身的工程比较大的话,可以通过移植demo里面的关键代码,同样可以实现你说的这些 王昱顺 发表于 2024-12-5 11:59
是的,你可以直接在官方Demo的工程里添加自己的代码,就可以完成远程升级了。
或者本身的工程比较大的话 ...
<p>大佬能不能帮忙分析一下 isp例程中 void uart_isr()、void dfu_check()、void dfu_events()这几个函数呢,文档里面没有提及太多具体的交互过程,有点懵<img src="data/attachment/forum/202412/09/150531v22nlm4rb45bm5wr.png" alt="image.png" title="image.png" /></p>
<p><img src="data/attachment/forum/202412/09/150531sb7lhbq7r767kaxb.png" alt="image.png" title="image.png" /><br />
<img src="data/attachment/forum/202412/09/150531v9ayj7ccwsz7qcnh.png" alt="image.png" title="image.png" /></p>
<p>AI8051好像有专门的用户bootloader区,这个比较方便</p>
无问西东 发表于 2024-12-9 15:05
大佬能不能帮忙分析一下 isp例程中 void uart_isr()、void dfu_check()、void dfu_events()这几个函数呢 ...
这个其实是想要让你直接使用isp程序,只自己开发用户程序然后合一块用。
如果想要自己写,可以试试ai8051u的用户程序区功能
页:
[1]
2