This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教TMS320C5534的cmd文件的VECS问题

各位专家,在编辑cmd文件时遇到一些问题,用的是ccs5.3

1.CCS安装路径下D:\ti\ccsv5\ccs_base\c5500\include中的C5534.cmd中,VECS放在了ROM中

ROM: o = 0xFE0000 l = 0x01FF00 /* 128kB ROM (MPNMC=0) or CS5 (MPNMC=1) */
VECS: o = 0xFFFF00 l = 0x000100 /* reset vector */

2.目前可用的cmd文件中,VECS放在了SARAM中

VECS (RWIX): origin = 0x04FE00, length = 0x000200 /* 512B */
PDROM (RIX): origin = 0xff8000, length = 0x008000 /* 32KB */

问题1:请问VECS应该放在SARAM中还是ROM中?

问题2:若要放在SARAM中,因5534只有192kB SARAM,VECS (RWIX): origin  = 0x04FE00,可以进中断,当我改成 0x03FE00时反而进不了中断,请问是什么原因?

  • 1. 例程中的是ROM中的reset vector,数据手册中有说明the reset vector in ROM at FFFF00h forces the program execution to branch to the location of the on-chip ROM bootloader.

    因为是在ROM中,不能更改,所以如果用到中断的话,需要把中断向量表重定位到RAM里。

    2.  这两个地址都是SARAM,用法一样啊。你跟一下程序看看程序跳到哪里去了?中断使能位和标志位是否都置起来了。

  • 非常感谢,关于第2个问题,请问

    1.我启用了INT0中断,发现有时候在edit模式下点击debug按钮进入debug模式时在线调试运行时进不了中断,点击暂停后停在了vector.asm 中的int0_isr: goto int0_isr,当我重新load  .out文件后恢复正常了,可能是我的操作有问题?

    2.其实我想问的是因为5534只有192kB SARAM,其地址最多到0x040000,为什么写成如下超出了界限也可以正常工作呢?

    VECS   (RWIX): origin = 0x04FE00, length = 0x000200  /*  512B */

    谢谢!

  • 1. 一般是先手动connect,再load program,不大用debug按钮。

    2. 越界的话,是分配到reserved memory了,reserved memory是不能用的,虽然有时可以正常工作,但不能保证稳定性和可靠性。

  • 非常感谢,我用的是CCS5.3,没找到您说的connect,是不是view菜单中的debug(只是虫子的图标)?也出现在默认的工具条上面

    另外在run菜单中也找到一个debug(虫子+箭头图标),您说的debug是这个吧?

  • ccs->view->Target Configurations->右键ccxml文件->Launch Selected Configuration

      

  • 好的,非常感谢!!!