ISP区设置为8K
使用STC32G8K64,ISP的程序设置在前8K,后56K用作AP
我想问的是对官方的示例作如下修改是不是就够了
1、ISP程序
1.1 isr.asm文件的 LDR_SIZE EQU 1000H 改成 2000H ,然后其他部分不做改动
1.2 第一次下载ISP程序时,将用户EEPROM设置为56K
2、AP程序
1.1 KEIL设置 INTVECTOR(0x1000) 改成 INTVECTOR(0x2000)
0xFF0003-0xFF1002 改成0xFF0003-0xFF2002
1.2把AP程序里的DFU标志改成 long xdata DfuFlag _at_ 0xDFFC;
还有这里
0xDFFC哪有这么大的xdata~
放在6k以内即可
另外可能需要自己按ISP代码里协议改个上位机,示例包里的demo上位机强制加载0xFE0000地址不适用于64K,这个是给STC32G12K128型号用的上位机。
ercircle 发表于 2025-6-12 18:00
还有这里
0xDFFC哪有这么大的xdata~
好的好的,我把Xdata记成EEPROM的大小了
如果我把AP的hex文件转成bin,直接发bin,用传文件的方式,是不是得先把hex里的FE0000-FE0002跳转指令复制到FE2000-FE2002去 JDBJXB 发表于 2025-6-12 18:25
好的好的,我把Xdata记成EEPROM的大小了
如果我把AP的hex文件转成bin,直接发bin,用传文件的方式,是不 ...
嗯,STC32G8K64 只有64K哈,是FF0000~FF0002 ercircle 发表于 2025-6-12 18:32
嗯,STC32G8K64 只有64K哈,是FF0000~FF0002
那把hex的FF0000-FF0002跳转指令复制到FF2000-FF2002去之后,前面的8K是不是可以不用了,直接从FF2000开始传文件, JDBJXB 发表于 2025-6-13 09:48
那把hex的FF0000-FF0002跳转指令复制到FF2000-FF2002去之后,前面的8K是不是可以不用了,直接从FF2000开 ...
是的,前面这8K区本身就是留给ISP的
页:
[1]