打印

软件陷阱

[复制链接]
1378|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zilong1013|  楼主 | 2015-7-21 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为提高单片机抗干扰能力,我要在C语言中嵌入汇编语言的软件陷阱,我用的是MSP430F6436的,其程序存储区起始地址是08000H,我是这么写在未使用的中断服务程序中的,但编译提示错误Error[Og010]: Inline assembler instruction does not have a unique size: "        JMP 0X08000"      不知是什么原因?求教高手。
源程序部分如下:
#pragma vector=TIMERA0_VECTOR                                                           
__interrupt void Timer_A(void)               
{
  asm("NOP");
  asm("NOP");
  asm("JMP 0X0C000");                    
}
上面是第一个问题
第二个问题:在IAR中写的程序,仿真时候看到程序存储器里面不是按照IAR的程序顺序存储的,是什么原因?是不是因为IAR编译器优化的原因呢?
希望各位大神多多指教。不胜感激!!!

相关帖子

沙发
dirtwillfly| | 2015-7-27 14:05 | 只看该作者
没这样用过。更习惯把不是用的中断都关闭,这样功耗更低更适合用msp430的长处

使用特权

评论回复
板凳
dirtwillfly| | 2015-7-27 14:06 | 只看该作者
iar会自动对变量的存储和使用进行优化的,你也可以根据需要存储到指定存储空间

使用特权

评论回复
地板
米尔豪斯| | 2015-7-28 09:02 | 只看该作者
IAR好像可以选择从哪里进入程序,比如从main,事实是跳过了前面的一部分

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

34

帖子

0

粉丝