求助,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中的例子。