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

请教在写自己IAP15W4K61S4升级程序时的一个问题

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2026-06-01 15:14:23

14

主题

93

回帖

424

积分

中级会员

积分
424
发表于 2026-5-28 10:03:40 | 显示全部楼层 |阅读模式
在IAP15W4K61S4的示例程序中,userisp程序,是没有用到任何中断的,所以里面有isr.asm能编译通过,但在我自己的工程中,因为我想在userisp中全能串口以中断方式接收数据,那么编译就报地址重叠错误了

那么问题来了,如何写代码,从而实现在userapp,与userisp中都能使用中断呢???

因为我想实现两套中断,如果是在userisp中运行的代码,那么跳转到0x203开始的中断向量表,如果是在userapp中运行,则跳转到0x1000开始的中断向量表。。。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:305
  • 最近打卡:2026-07-22 08:18:15
已绑定手机

23

主题

667

回帖

2511

积分

金牌会员

积分
2511
发表于 2026-5-28 10:36:01 | 显示全部楼层
共用一个位变量,根据位变量决定跳转位置,此跳转代码都在BOOT中

点评

问题是1个中断向只只有8字节,而跳转指令就3字节,2条跳转就是6字节,再加检测指令,不够啊  发表于 2026-5-28 10:57
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:305
  • 最近打卡:2026-07-22 08:18:15
已绑定手机

23

主题

667

回帖

2511

积分

金牌会员

积分
2511
发表于 2026-5-28 11:19:26 | 显示全部楼层
Ayb_*** 发表于 2026-5-28 10:36
共用一个位变量,根据位变量决定跳转位置,此跳转代码都在BOOT中

JNB,AJMP,LJMP3+2+3不是正好吗
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:305
  • 最近打卡:2026-07-22 08:18:15
已绑定手机

23

主题

667

回帖

2511

积分

金牌会员

积分
2511
发表于 2026-5-28 11:20:22 | 显示全部楼层
就算不够,你先跳转某个位置再判断也可以

点评

麻烦把代码写出来看看,我不会写  发表于 2026-5-28 13:09
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:305
  • 最近打卡:2026-07-22 08:18:15
已绑定手机

23

主题

667

回帖

2511

积分

金牌会员

积分
2511
发表于 2026-5-28 13:30:17 | 显示全部楼层
Ayb_*** 发表于 2026-5-28 11:20
就算不够,你先跳转某个位置再判断也可以

        JB g_bBootFlag,BOOT_INT
        LJMP        200BH        ;APP中断
BOOT_INT:
        AJMP        000BH        ;BOOT中断

点评

谢谢指定,我搞定了。。。  发表于 2026-5-29 15:01
JB是3字节,LJMP是3字节,AJMP是2字节,没有超过8字节,感觉可行,我来试一下  发表于 2026-5-29 11:17
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:42
  • 最近打卡:2026-06-01 15:14:23

14

主题

93

回帖

424

积分

中级会员

积分
424
发表于 2026-5-29 10:40:58 | 显示全部楼层
放出代码,,,
  1. ISP_INT     EQU     0203H               ; ISP中断向量表地址
  2. APP_INT     EQU     1000H               ; APP中断向量表地址
  3. ISP_MODE    EQU     2FH.0                                ; 需要在C中写义变量unsigned char bdata isp_mode _at_ 0x2f;  // 位变量
  4. MAPISR      MACRO   ADDR
  5.             CSEG    AT  ADDR
  6.                         JB      ISP_MODE, $+5       ;isp_mode为1则跳转到app中断向量
  7.                         AJMP    ISP_INT + ADDR
  8.             LJMP        APP_INT + ADDR
  9.             ENDM
  10.             MAPISR  0003H
  11.             MAPISR  000BH
  12.             MAPISR  0013H
  13.             MAPISR  001BH
  14.             MAPISR  0023H
  15.             MAPISR  002BH
  16.             MAPISR  0033H
  17.             MAPISR  003BH
  18.             MAPISR  0043H
  19.             MAPISR  004BH
  20.             MAPISR  0053H
  21.             MAPISR  005BH
  22.             MAPISR  0063H
  23.             MAPISR  006BH
  24.             MAPISR  0073H
  25.             MAPISR  007BH
  26.             MAPISR  0083H
  27.             MAPISR  008BH
  28.             MAPISR  0093H
  29.             MAPISR  009BH
  30.             MAPISR  00A3H
  31.             MAPISR  00ABH
  32.             MAPISR  00B3H
  33.             MAPISR  00BBH
  34.             MAPISR  00C3H
  35.             MAPISR  00CBH
  36.             MAPISR  00D3H
  37.             MAPISR  00DBH
  38.             MAPISR  00E3H
  39.             MAPISR  00EBH
  40.             MAPISR  00F3H
  41.             MAPISR  00FBH
  42.             MAPISR  0103H
  43.             MAPISR  010BH
  44.             MAPISR  0113H
  45.             MAPISR  011BH
  46.             MAPISR  0123H
  47.             MAPISR  012BH
  48.             MAPISR  0133H
  49.             MAPISR  013BH
  50.             MAPISR  0143H
  51.             MAPISR  014BH
  52.             MAPISR  0153H
  53.             MAPISR  015BH
  54.             MAPISR  0163H
  55.             MAPISR  016BH
  56.             MAPISR  0173H
  57.             MAPISR  017BH
  58.             MAPISR  0183H
  59.             MAPISR  018BH
  60.             MAPISR  0193H
  61.             MAPISR  019BH
  62.             MAPISR  01A3H
  63.             MAPISR  01ABH
  64.             MAPISR  01B3H
  65.             MAPISR  01BBH
  66.             MAPISR  01C3H
  67.             MAPISR  01CBH
  68.             MAPISR  01D3H
  69.             MAPISR  01DBH
  70.             MAPISR  01E3H
  71.             MAPISR  01EBH
  72.             MAPISR  01F3H
  73.             MAPISR  01FBH
  74.             END
复制代码


回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-22 10:31 , Processed in 0.071465 second(s), 68 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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