打印

DSP仿真时进入非法中断

[复制链接]
3650|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
混子黄|  楼主 | 2017-12-1 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
进入了


interrupt void EPWM1_INT_ISR(void)     // EPWM-1{
  // Insert ISR Code here

  // To receive more interrupts from this PIE group, acknowledge this interrupt
  // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;

  // Next two lines for debug only to halt the processor here
  // Remove after inserting ISR Code
  asm ("      ESTOP0");
  for(;;);
}





下面是CMD文件





MEMORY
{
PAGE 0 :
   /* BEGIN is used for the "boot to SARAM" bootloader mode      */
   /* BOOT_RSVD is used by the boot ROM for stack.               */
   /* This section is only reserved to keep the BOOT ROM from    */
   /* corrupting this area during the debug process              */

   BEGIN      : origin = 0x000000, length = 0x000002     /* Boot to M0 will go here                      */
   BOOT_RSVD  : origin = 0x000002, length = 0x00004E     /* Part of M0, BOOT rom will use this for stack */               
   RAMM0      : origin = 0x000050, length = 0x0003B0



   RAML0      : origin = 0x008000, length = 0x000200   
   RAML1      : origin = 0x008200, length = 0x006e00   
/*   RAML1      : origin = 0x008200, length = 0x003e00  */
/*   RAML2      : origin = 0x00A000, length = 0x001000  */
/*   RAML3      : origin = 0x00B000, length = 0x001000  */
/*     RI      : origin = 0x123456, length = 0x0000ff*/
   ZONE6A     : origin = 0x100000, length = 0x080000    /* XINTF zone 6 - program space */
   CSM_RSVD   : origin = 0x33FF80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
   CSM_PWL    : origin = 0x33FFF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA            */
   ADC_CAL    : origin = 0x380080, length = 0x000009
   RESET      : origin = 0x3FFFC0, length = 0x000002
   IQTABLES   : origin = 0x3FE000, length = 0x000b50
   IQTABLES2  : origin = 0x3FEB50, length = 0x00008c
   FPUTABLES  : origin = 0x3FEBDC, length = 0x0006A0
   BOOTROM    : origin = 0x3FF27C, length = 0x000D44               


PAGE 1 :
   RAMM1      : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
/*   RAML4      : origin = 0x00C000, length = 0x001000    */
/*   RAML5      : origin = 0x00D000, length = 0x001000    */
/*   RAML6      : origin = 0x00E000, length = 0x001000    */
   RAML7      : origin = 0x00f000, length = 0x01000
  /* ZONE6B     : origin = 0x180000, length = 0x080000   */  /* XINTF zone 6 - data space */
/* RUAN      : origin = 0x182222, length = 0x070000*/
   ZONE6B     : origin = 0x180000, length = 0x080000
}


SECTIONS
{
   /* Setup for "boot to SARAM" mode:
      The codestart section (found in DSP28_CodeStartBranch.asm)
      re-directs execution to the start of user code.  */
   codestart        : > BEGIN,     PAGE = 0
   ramfuncs         : > RAML0,     PAGE = 0  
   .text            : > RAML1,     PAGE = 0
   .cinit           : > RAML0,     PAGE = 0
   .pinit           : > RAML0,     PAGE = 0
   .switch          : > RAML0,     PAGE = 0

   .stack           : > RAMM1,     PAGE = 1
/*   .ebss            : > RAML4,     PAGE = 1    */
/*   .econst          : > RAML5,     PAGE = 1    */
   .ebss            : > RAML7,     PAGE = 1
   .econst          : > RAML7,     PAGE = 1     
   .esysmem         : > RAMM1,     PAGE = 1

   IQmath           : > RAML1,     PAGE = 0
   IQmathTables     : > IQTABLES,  PAGE = 0, TYPE = NOLOAD
   IQmathTables2    : > IQTABLES2, PAGE = 0, TYPE = NOLOAD
   FPUmathTables    : > FPUTABLES, PAGE = 0, TYPE = NOLOAD

/*   DMARAML4         : > RAML4,     PAGE = 1 */
/*   DMARAML5         : > RAML5,     PAGE = 1 */
/*   DMARAML6         : > RAML6,     PAGE = 1 */
   DMARAML6         : > RAML7,     PAGE = 1
   DMARAML7         : > RAML7,     PAGE = 1


/* ZONE6DATA       : > RUAN,      PAGE = 1*/
   ZONE6DATA        : > ZONE6B,    PAGE = 1  
/*  HUNZI            : > RI,        PAGE = 0*/

   .reset           : > RESET,     PAGE = 0, TYPE = DSECT /* not used                    */
   csm_rsvd         : > CSM_RSVD   PAGE = 0, TYPE = DSECT /* not used for SARAM examples */
   csmpasswds       : > CSM_PWL    PAGE = 0, TYPE = DSECT /* not used for SARAM examples */

   /* Allocate ADC_cal function (pre-programmed by factory into TI reserved memory) */
   .adc_cal     : load = ADC_CAL,   PAGE = 0, TYPE = NOLOAD

}





现在是我仿真时空间不够,RAML1      : origin = 0x008200, length = 0x006e00    改为RAML1      : origin = 0x008200, length = 0x007e00   

将RAML7      : origin = 0x00f000, length = 0x01000 改为RAML7      : origin = 0x3f8000, length = 0x01000

改成这样就进入非法中断了,请问是什么原因。

然后怎么增加仿真空间?
谢谢了。







相关帖子

沙发
kkzz| | 2017-12-1 20:59 | 只看该作者
你的程序死机了吗?

使用特权

评论回复
板凳
hudi008| | 2017-12-1 20:59 | 只看该作者
显示的是什么中断?

使用特权

评论回复
地板
lzmm| | 2017-12-1 21:00 | 只看该作者
是否打开了某个中断,但是没有响应和清除中端标志?

使用特权

评论回复
5
minzisc| | 2017-12-1 21:00 | 只看该作者
地址溢出,常见错误为指针操作错误

使用特权

评论回复
6
selongli| | 2017-12-1 21:01 | 只看该作者
无条件的死循环?

使用特权

评论回复
7
fentianyou| | 2017-12-1 21:03 | 只看该作者
非正常状态?

使用特权

评论回复
8
xiaoyaodz| | 2017-12-1 21:03 | 只看该作者
楼主不一定是cmd的问题

使用特权

评论回复
9
febgxu| | 2017-12-1 21:03 | 只看该作者
是不是硬件的问题。

使用特权

评论回复
10
sdlls| | 2017-12-1 21:04 | 只看该作者
超出存储的范围了吗?

使用特权

评论回复
11
pixhw| | 2017-12-1 21:06 | 只看该作者
当需要把程序从flash复制到RAM里时,各个段分配参考如下:
.cinit
Flash
.cio
RAM
.const
Flash
.econst
Flash
.pinit
Flash
.switch
Flash
.text
Flash
.bss
RAM
.ebss
RAM
.stack
Lower 64Kw RAM
.sysmem
RAM
.esysmem
RAM
.reset
RAM1

使用特权

评论回复
12
kkzz| | 2017-12-1 21:06 | 只看该作者
进入非法中断,可能是内部空间不足造成的。

使用特权

评论回复
13
hudi008| | 2017-12-1 21:06 | 只看该作者
这个变量能够正常使用吗?

使用特权

评论回复
14
lzmm| | 2017-12-1 21:06 | 只看该作者
程序一直进入中断,造成死机

使用特权

评论回复
15
minzisc| | 2017-12-1 21:06 | 只看该作者
如果循环变量没控制好则会出现数组下标越界

使用特权

评论回复
16
selongli| | 2017-12-1 21:06 | 只看该作者
堆栈溢出。

使用特权

评论回复
17
fentianyou| | 2017-12-1 21:06 | 只看该作者
异常  是指工作尚未停止,但又不是正常状态。

使用特权

评论回复
18
xiaoyaodz| | 2017-12-1 21:06 | 只看该作者
可能程序的问题。

使用特权

评论回复
19
febgxu| | 2017-12-1 21:06 | 只看该作者
进入哪个中断了?

使用特权

评论回复
20
sdlls| | 2017-12-1 21:07 | 只看该作者
楼主的空间修改的太大了吧。

使用特权

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

本版积分规则

108

主题

1031

帖子

6

粉丝