你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
liuxiaoyun1210 提问时间:2012-7-14 10:49 /
STM8S的中断重定义在IAR编译环境下,改怎么设置?目前是修改.icf文件,如下:

define region NearFuncCode = [from 0x9000 to 0x9FFF];

define region FarFuncCode = [from 0x9000 to 0x9FFF];

define region HugeFuncCode = [from 0x9000 to 0x9FFF];

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

我想定义的是如下:

IAP程序:0X8000-0X8FFF;

APP程序:0x9000-0x9FFF;

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

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

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

目前不知道在IAR怎么设置,目前我们使用的芯片:STM8S103F3
 
收藏 1 评论4 发布时间:2012-7-14 10:49

举报

4个回答
航天航海 回答时间: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 ...

每个都要加吗?

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版