AHBbGao 发表于 2026-2-18 20:26:01

ISP OTA 代码文件不规范

本人使用官网的ISP升级程序,用电脑软件升都是正常的。但是使用自己的工程 ,因为用到触摸按钮,所有有个触摸跳转的汇编文件在工程里。
现在问题是 只有给汇编文件移出工程 ,才不会报错,如果汇编文件在工程里面,在打开文件时,就报 代码文件不规范。KEIL设置,已按官网要求改了。我的代码是18K样子。
放假这几天,搞了三天,一点进展也没有,真是愁人。请高手指教怎么才能又使用触摸按钮的中断,又能正常的下载文件?
我的工程里的汇编内容如下:

      EXTRN DATA      (isr_index)

      CSEG      AT      011BH                ;35号 触摸按键 中断入口
      MOV                isr_index, #35      ;标记中断号35
      LJMP          106BH                        ;跳转到中断号13的向量

      CSEG      AT      0123H                ;36号 RTC 中断入口
      MOV                isr_index, #36      ;标记中断号36
      LJMP         106BH                        ;跳转到中断号13的向量

      END
编译后的hex,我也放到附件里,请大神帮看下,应该怎么修改下这个汇编的代码呀。

乘风飞扬 发表于 2026-2-24 14:43:19

官网的在线升级例程,在用户ISP程序 isr.asm 文件里面进行中断地址偏移操作。
如果需要借用其它中断号,也可以在这个文件里面进行处理,例如写个用户中断地址映射宏:
MAPISR_USER MACRO   ADDR, USER
            CSEG    ATADDR
            LJMP    LDR_SIZE + USER
            ENDM


还有一种方法是安装中断拓展插件,就不需要借用其它中断地址,使用自身的中断向量号。
https://www.stcai.com/gjrj

AHBbGao 发表于 2026-2-24 16:56:42

乘风飞扬 发表于 2026-2-24 14:43
官网的在线升级例程,在用户ISP程序 isr.asm 文件里面进行中断地址偏移操作。
如果需要借用其它中断号,也 ...

感谢回复,我的keil9.1版本,安装不了这个插件。我还是用再增加中断号的方式,我来试试。可以帮写个具体的吗,汇编不知道怎么写{:baoquan:}。就是触摸的35号,怎么跳到13号里面。我再在程序里再识别使用。

乘风飞扬 发表于 2026-2-24 17:35:42

AHBbGao 发表于 2026-2-24 16:56
感谢回复,我的keil9.1版本,安装不了这个插件。我还是用再增加中断号的方式,我来试试。可以帮写个具体 ...

用户ISP程序 isr.asm 文件里面:
将:   MAPISR011BH
改成:MAPISR_USER011BH,006BH
然后在用户应用程序里面使用13号中断向量作为触摸按键中断向量。
页: [1]
查看完整版本: ISP OTA 代码文件不规范