TI中文支持网
TI专业的中文技术问题搜集分享网站

6747 中断问题

兄弟们,求解

我用的是6747的片子,在用中断时,有几个寄存器的赋值出现错误,导致进不了中断。

GPIO_INSTAT23=0xFFFFFFFF;

GPIO_CLR_RIS_TRIG23=0x08000011;

GPIO_SET_FAL_TRIG23=0x08000011;

程序运行以后,我通过memory查看,发现GPIO_CLR_RIS_TRIG23和GPIO_SET_FAL_TRIG23这两个地址的值为0,而这两个地址+4的地址上,值为0x08000011。比如说GPIO_CLR_RIS_TRIG23的地址是0x012E605C,0x012E605C的值是0,而0x012E6060的值是0x08000011.

GPIO_INSTAT23这个地址的值也错误,不过与它相邻地址的值也不是0xFFFFFFFF。

请教一下各位高手,这是怎么回事啊

非常感谢!

noaming:

你可以在ccs中单步运行这几个赋值指令,并可以查看此时

GPIO_CLR_RIS_TRIG23等指针,此时指向的地址是不是该寄存器的地址。

rp zhang:

回复 noaming:

Titan

你可以在ccs中单步运行这几个赋值指令,并可以查看此时

GPIO_CLR_RIS_TRIG23等指针,此时指向的地址是不是该寄存器的地址。

noaming:

回复 rp zhang:

我看一下,在C6747芯片中

0x01E26000 到 0x01E26FFF 这4K的空间是GPIO寄存器的空间

而你所写的“0x012E6050”明显错误啊。。。

rp zhang:

回复 noaming:

Titan

我看一下,在C6747芯片中

0x01E26000 到 0x01E26FFF 这4K的空间是GPIO寄存器的空间

而你所写的“0x012E6050”明显错误啊。。。

rp zhang:

回复 noaming:

您好,我发现寄存器没有把值写进去,或者说我有赋值语句,但是通过memory窗口看的时候,显示的不是我赋的值,但是中断还是进去了。

这是为什么?

而且碰到一个新问题。由于.text和.far比较大,将其指向外部sdram,但是现在很容易跑飞,尤其是长时间工作后,基本上无法正常工作。

将程序放到外部sdram后,有什么需要特别注意的吗?还是说这种方式存有隐患?

赞(0)
未经允许不得转载:TI中文支持网 » 6747 中断问题
分享到: 更多 (0)