hansen 发表于 2023-4-25 09:36:11

STC32G-ISP的程序入口和中断入口重映射




上位机怎样实现复位地址和中断入口地址的重映射呢?保留0xFF0003~0xFF1003,AP代码还会把入口代码放在0xFF0000~0XFF0002么?但ISP并没有保留0xFF0000~0xFF0002!


乘风飞扬 发表于 2023-4-25 13:09:24

本帖最后由 乘风飞扬 于 2023-4-25 13:12 编辑

用户AP程序里面设置中断偏移地址,编译器会将中断函数设置到对应偏移量的地址上:


用户ISP程序里面对所有的中断进行重新映射,增加偏移量跳转:


升级用的上位机软件判断用户代码的FF:0000~FF:0002这3个字节是否是长跳转语句,以及跳转的目标地址是否在保留区以外,
如果都没问题,将FF:0000~FF:0002复制到FF:1000~FF:1002,并将FF:0000~FF:0002地址的3个字节写入FF。

hansen 发表于 2023-4-25 13:29:17

乘风飞扬 发表于 2023-4-25 13:09
用户AP程序里面设置中断偏移地址,编译器会将中断函数设置到对应偏移量的地址上:




算是看明白了,这样操作的话,ISP就么法用中断了!!!!

sevencai 发表于 2024-4-1 12:19:52

留个记号

gougou_0 发表于 2024-8-10 11:04:53

本帖最后由 gougou_0 于 2024-8-10 13:06 编辑

同问,”重映射的工作上位机应用程序自动处理,用户在编写ap代码时无需关心“,这句话啥意思,为什么重映射工作不是在isp程序里做呢?上位机不是只搞通信和数据传输吗?难道上位机还要解析程序?如果是自己写isp和上位机,那么烦请把这部分重映射原理和操作方法讲清楚,谢谢!
另外,看例程,isp工程中串口似乎没有采用中断号?
页: [1]
查看完整版本: STC32G-ISP的程序入口和中断入口重映射