打印

430单片机系统复位

[复制链接]
1086|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zilong1013|  楼主 | 2014-12-1 11:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在调试MSP430F6433单片机。但是只要有一下中断程序,就会报错。
Error[e16]: Segment RESET (size: 0x2 align: 0x1) is too long for segment definition. At least 0x2 more bytes needed. The problem occurred while processing the segment placement command "-Z(CODE)RESET=FFFE-FFFF", where at  ...........
按照论坛高手提示。菜单Project的Options的Linker选项中的Config中,选择Override default program,并在其子项中选择Defined bv applicat。OK后退出。编译通过。但是仿真,程序一直在该中断程序中运行,不进主程序,而且下载时候提示stack warning。。。。。。请各位高手解决,小弟不胜感激!!!

#pragma vector=RESET_VECTOR                 //包括BOR,POR,PUC.在此用作LPM3.5唤醒复位
__interrupt void System_reset_ISR()
{
  switch(SYSRSTIV)
  {
    case 0x08:                              //LPMx.5唤醒产生BOR

    break;
    case 0x0c:                              //SVSL产生POR复位

    break;
  }
}

相关帖子

沙发
rainsinging| | 2014-12-1 13:56 | 只看该作者
你的ram不够用了吧,去掉一些全局变量看看make能不能通过,或者是你给予的stack空间不够,在option-》general options->stack/heap中手动设置堆栈空间,它默认是80的

使用特权

评论回复
板凳
dirtwillfly| | 2014-12-1 22:46 | 只看该作者
楼上说的是,应该是堆栈溢出了

使用特权

评论回复
地板
zilong1013|  楼主 | 2014-12-5 12:28 | 只看该作者
后来查出来了, 系统复位向量0xfffe。此处存储的地址是程序其实执行的位置。不能修改,只能修改系统中断向量的地址。不与0xfffe冲突

使用特权

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

本版积分规则

12

主题

34

帖子

0

粉丝