您好,我想请教一下C6748的中断设置。数据手册里提到了一些关于中断的寄存器,Technical Reference Maunal这个手册里在系统配置中也提到了一些中断相关寄存器(IENSET等),CPU and instruction set这个手册里也有一些中断寄存器(IER、ISTP等),这些寄存器好像还没有物理地址。看得我已经晕掉了。。不知道该怎么设置。到底应该如何设置才能配置好中断?比如IENSET是中断使能寄存器,IER也是中断使能寄存器。。这两个有区别么,都要设置么?
CPU and instruction set里提到的那些中断寄存器用C语言应该怎么给他们赋值?我不知道他们的物理地址是什么
Shine:
你好,
IER是12个中断使能位, 总共有128个外设事件可以映射到这12个CPU中断, IENSET是这128个外设事件之一的使能位, 如果要DSP响应MPU中断, IENSET, IER还有个总中断使能位(GIE)要同时有效. 要了解INTC中断模块, 可以看一下下面的文档第7章.http://www.ti.com/lit/ug/sprufk5a/sprufk5a.pdfIER, IFR, CSR等不是memory map寄存器, 所以没有寄存器地址, 需要用MVC指令来访问, C语言的话, 可以调用rts库中的内嵌函数, 见下面文档第225页.http://www.ti.com/lit/ug/spru187u/spru187u.pdfunsigned int _disable_interrupts ( );unsigned int _enable_interrupts ( );void _restore_interrupts (unsigned int);
Hao Wang5:
回复 Shine:
谢谢您的回答,那IER等寄存器是否还可以这样访问:先定义extern cregister volatile unsigned int IER; 然后再直接赋值 IER |= 0x0000…
Shine:
回复 Hao Wang5:
可以, IER可以用cregister关键字访问.
TI中文支持网
