liuxiaoyun1210 发表于 2012-7-14 10:49:48

在IAR for stm8怎么生成中断向量表【悬赏问答】

STM8S的中断重定义在IAR编译环境下,改怎么设置?目前是修改.icf文件,如下:

define region NearFuncCode = ;

define region FarFuncCode = ;

define region HugeFuncCode = ;

按上述来修改,只要不使能中断,APP的程序能运行,使能中断,在调试跟踪则会跳到_iar_unhandled_exception

我想定义的是如下:

IAP程序:0X8000-0X8FFF;

APP程序:0x9000-0x9FFF;

STM8S默认中断向量表:0x8000-0x807F,

IAP中断向量地址:0x8000-0x807F,

APP中断向量地址:0x9000-0x907F

目前不知道在IAR怎么设置,目前我们使用的芯片:STM8S103F3
 

航天航海 发表于 2012-7-14 17:51:39

RE:在IAR for stm8怎么生成中断向量表

仔细看看技术手册。

liuxiaoyun1210 发表于 2012-7-16 08:41:59

回复:在IAR for stm8怎么生成中断向量表

回复第 2 楼 于2012-07-14 17:51:39发表:
仔细看看技术手册。 

楼上的知道话,指点下!

liuxiaoyun1210 发表于 2012-7-16 09:16:42

回复:在IAR for stm8怎么生成中断向量表

终于搞定了,需要在IAP工程中的中断里面加上一个跳转指令,跳转到相应APP中中断对应的地址,如:
#pragma vector=0x14
__interrupt void UART1_RX_IRQHandler(void)//对应IAP的中断地址:0x8050
{
  asm("JP 0x9050\n");
}
#pragma vector=0x0F
__interrupt void TIM2_UPD_OVF_BRK_IRQHandler(void)//对应IAP的中断地址:0x903C

{
  asm("JP 0x903c\n");
}
#pragma vector=0x18
__interrupt void ADC1_IRQHandler(void)//对应IAP的中断地址:0x8060
{
  asm("JP 0x9060\n");
}

ssssss 发表于 2018-7-18 11:55:38

liuxiaoyun1210 发表于 2012-7-16 09:16
终于搞定了,需要在IAP工程中的中断里面加上一个跳转指令,跳转到相应APP中中断对应的地址,如:
#pragma v ...

每个都要加吗?
页: [1]
查看完整版本: 在IAR for stm8怎么生成中断向量表【悬赏问答】