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

C6722中断问题

求助,C6722整个中断过程,中断向量的书写和如何引用,有例程的最好

noaming:

你好,C6722提供的有中断库,在CSL中,看下面:

http://www.ti.com/tool/sprc223

user3460585:

回复 noaming:

你好,因为是刚刚接触DSP中断这块,所以很多部分不清楚,加载了csl_C672x_intc.lib还需要再写中断向量不?csl_intc.h和_csl_intc.h文件还需要加载不?谢谢你了

noaming:

回复 user3460585:

使用时只需要csl_C672x_intc.lib 和 csl_intc.h和_csl_intc.h,之外就不再需要自己写中断向量表。。。

user3460585:

回复 noaming:

添加以后,需要在.cmd文件中添加中断的存储位置,需要用ISTP进行重新定位吗?

user3460585:

回复 noaming:

麻烦问您有没有联系方式,电话或QQ好进行沟通

noaming:

回复 user3460585:

在cmd文件中把中断向量表的位置预定义一下,这样就没有其他程序数据占用这个区域。

然后再C文件中用CSL_intcSetVectorPtr函数,指定中断向量表的基址就可以了。

有什么问题,都可以在这里讨论嘛。。。

user3460585:

回复 noaming:

还有就是,我在头文件中也没有见到讲地址概念,并没有寄存器指向地址,可以直接引用?

比如:

#define SYS_BASE 0x40000000 //系统寄存器地址

#define CFGPIN0 *(unsigned int*)(SYS_BASE + 0x000)

但是我在6722文件也没有见到这样的定义

user3460585:

回复 noaming:

MEMORY{

VEC: o = 10000000h l = 00000A00h VEC_RET: o = 10000A00h l = 00000100h

}

SECTIONS{

.vectors > VEC }

这是我关于中断位置预定义部分,这样写是否正确?

noaming:

回复 user3460585:

在csl_C672x_03_00_09_00\csl_C672x_03_00_09_00\dsp\inc中,定义了芯片的所有模块寄存器的宏,

包括中断等cslr_intc.h。你可以直接调用,不需要自己再重新定义。

下面这些自定义当然没问题,但不要和引用的头文件重复定义了。

#define SYS_BASE 0x40000000 //系统寄存器地址

#define CFGPIN0 *(unsigned int*)(SYS_BASE + 0x000)

noaming:

回复 user3460585:

这样写也可以,注意其他部分的配置。

可以参考\csl_C672x_intc_03_00_09_00\csl_C672x_intc_03_00_09_00\dsp\examples\c672x\intc\src中的例子。

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