JDBJXB 发表于 5 天前

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;



每天不一YOUNG 发表于 5 天前


ercircle 发表于 5 天前


还有这里

0xDFFC哪有这么大的xdata~
放在6k以内即可




另外可能需要自己按ISP代码里协议改个上位机,示例包里的demo上位机强制加载0xFE0000地址不适用于64K,这个是给STC32G12K128型号用的上位机。

JDBJXB 发表于 5 天前

ercircle 发表于 2025-6-12 18:00
还有这里

0xDFFC哪有这么大的xdata~


好的好的,我把Xdata记成EEPROM的大小了
如果我把AP的hex文件转成bin,直接发bin,用传文件的方式,是不是得先把hex里的FE0000-FE0002跳转指令复制到FE2000-FE2002去

ercircle 发表于 5 天前

JDBJXB 发表于 2025-6-12 18:25
好的好的,我把Xdata记成EEPROM的大小了
如果我把AP的hex文件转成bin,直接发bin,用传文件的方式,是不 ...

嗯,STC32G8K64 只有64K哈,是FF0000~FF0002

JDBJXB 发表于 4 天前

ercircle 发表于 2025-6-12 18:32
嗯,STC32G8K64 只有64K哈,是FF0000~FF0002

那把hex的FF0000-FF0002跳转指令复制到FF2000-FF2002去之后,前面的8K是不是可以不用了,直接从FF2000开始传文件,

ercircle 发表于 4 天前

JDBJXB 发表于 2025-6-13 09:48
那把hex的FF0000-FF0002跳转指令复制到FF2000-FF2002去之后,前面的8K是不是可以不用了,直接从FF2000开 ...

是的,前面这8K区本身就是留给ISP的
页: [1]
查看完整版本: ISP区设置为8K