各位专家,在编辑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时反而进不了中断,请问是什么原因?
Shine:
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,用法一样啊。你跟一下程序看看程序跳到哪里去了?中断使能位和标志位是否都置起来了。
user1700256:
回复 Shine:
非常感谢,关于第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 */
谢谢!
user1700256:
回复 Shine:
非常感谢,我用的是CCS5.3,没找到您说的connect,是不是view菜单中的debug(只是虫子的图标)?也出现在默认的工具条上面
另外在run菜单中也找到一个debug(虫子+箭头图标),您说的debug是这个吧?
user1700256:
回复 Shine:
好的,非常感谢!!!