找回密码
 立即注册
查看: 428|回复: 10

求助!!利用STC的IAP单片机开发自己的ISP程序-STC32G12K128系列如何使用???

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-06 09:31:00

6

主题

26

回帖

152

积分

注册会员

积分
152
发表于 2024-11-28 16:18:12 | 显示全部楼层 |阅读模式
有没有大佬说一下这个 要怎么用 看例程不太懂
截图202411281616461790.jpg
截图202411281617018356.jpg
截图202411281617123673.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-11-28 16:35:09 | 显示全部楼层
这个其实是通过将EEPROM设定为整个程序范围,从而保证程序可以自己改自己。
DFU标志其实是通过跳转用户ISP的时候不需要断电,变量不会清除实现的。
简单来说就是塞进去了两套程序,通过跳转不同的地址实现两套程序各自的运行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-06 09:31:00

6

主题

26

回帖

152

积分

注册会员

积分
152
发表于 2024-11-28 16:48:28 | 显示全部楼层
本帖最后由 无问西东 于 2024-11-28 16:50 编辑
王*** 发表于 2024-11-28 16:35
这个其实是通过将EEPROM设定为整个程序范围,从而保证程序可以自己改自己。
DFU标志其实是通过跳转用户ISP ...

好的,太感谢您了。我还想问问,那要怎么实现两套程序的存储呢,需要在工程里添加什么代码  
想用UART实现,工程是基本写完了,但这个ISP不知道在现有工程何处添加相关代码

点评

想要修改isp的话,需要注意中断部分问题: 有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯技术交流网站 - AI32位8051交流社区 如果仅仅是加入isp功能,可以直接移植官方的isp程序 自己程序中移植加入  详情 回复 发表于 2024-11-28 17:07
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-11-28 17:07:19 | 显示全部楼层
无问*** 发表于 2024-11-28 16:48
好的,太感谢您了。我还想问问,那要怎么实现两套程序的存储呢,需要在工程里添加什么代码  
想用UART实现 ...

想要修改isp的话,需要注意中断部分问题:

有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯技术交流网站 - AI32位8051交流社区

如果仅仅是加入isp功能,可以直接移植官方的isp程序
自己程序中移植加入dfu置位和跳转就可以了。
两部分程序的拼接详见:
32G12K128的BOOT和APP合并教程 - ISP下载/做自己的ISP 国芯技术交流网站 - AI32位8051交流社区
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-06 09:31:00

6

主题

26

回帖

152

积分

注册会员

积分
152
发表于 2024-11-28 17:14:25 | 显示全部楼层
王*** 发表于 2024-11-28 17:07
想要修改isp的话,需要注意中断部分问题:

有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯 ...

好的,感谢大佬!!!我先看看消化一下!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-06 09:31:00

6

主题

26

回帖

152

积分

注册会员

积分
152
发表于 2024-12-5 10:55:06 | 显示全部楼层
王*** 发表于 2024-11-28 17:07
想要修改isp的话,需要注意中断部分问题:

有关中断和入口地址重映射 - 仿真/编译器/汇编器/头文件 国芯 ...

大佬,我还想麻烦问问 截图202412051050483780.jpg 就是这个官方教程是把ISP和Demo同时塞入同一块芯片的不同地址,通过地址跳转来实现远程升级的对吗 现在我已经写好一个工程需要远程升级,是不是只需要将我的工程结合官方Demo(或者说在官方Demo里添加我想实现的工程)再加上官方ISP程序就可以实现远程升级了。

点评

是的,你可以直接在官方Demo的工程里添加自己的代码,就可以完成远程升级了。 或者本身的工程比较大的话,可以通过移植demo里面的关键代码,同样可以实现你说的这些  详情 回复 发表于 2024-12-5 11:59
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-12-5 11:59:29 | 显示全部楼层
无问*** 发表于 2024-12-5 10:55
大佬,我还想麻烦问问 就是这个官方教程是把ISP和Demo同时塞入同一块芯片的不同地址,通过地址跳转来实现 ...

是的,你可以直接在官方Demo的工程里添加自己的代码,就可以完成远程升级了。
或者本身的工程比较大的话,可以通过移植demo里面的关键代码,同样可以实现你说的这些
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2024-09-06 09:31:00

6

主题

26

回帖

152

积分

注册会员

积分
152
发表于 2024-12-9 15:05:43 | 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=126881&ptid=12174][color=#999999]王昱顺 发表于 2024-12-5 11:59[/color][/url][/size] 是的,你可以直接在官方Demo的工程里添加自己的代码,就可以完成远程升级了。 或者本身的工程比较大的话 ...[/quote]

大佬能不能帮忙分析一下 isp例程中 void uart_isr()、void dfu_check()、void dfu_events()这几个函数呢,文档里面没有提及太多具体的交互过程,有点懵image.png

image.png
image.png

点评

这个其实是想要让你直接使用isp程序,只自己开发用户程序然后合一块用。 如果想要自己写,可以试试ai8051u的用户程序区功能  详情 回复 发表于 2024-12-9 19:55
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:6
  • 最近打卡:2024-12-27 15:57:04

26

主题

166

回帖

1221

积分

金牌会员

积分
1221
发表于 2024-12-9 15:35:21 | 显示全部楼层

AI8051好像有专门的用户bootloader区,这个比较方便

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:460
  • 最近打卡:2025-05-03 07:38:35
已绑定手机
已实名认证

110

主题

2224

回帖

5470

积分

版主

积分
5470
发表于 2024-12-9 19:55:05 | 显示全部楼层
无问*** 发表于 2024-12-9 15:05
大佬能不能帮忙分析一下 isp例程中 void uart_isr()、void dfu_check()、void dfu_events()这几个函数呢 ...

这个其实是想要让你直接使用isp程序,只自己开发用户程序然后合一块用。
如果想要自己写,可以试试ai8051u的用户程序区功能
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 13:01 , Processed in 0.137615 second(s), 114 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表