TMS320C6713 DSP存储器映射与中断处理

需积分: 50 72 下载量 87 浏览量 更新于2024-08-24 收藏 673KB PPT 举报
"该文主要介绍了TMS320C6713 DSP的存储器映射,并提及了程序结构,特别是中断向量表的设置和C语言在DSP上的实现。" TMS320C6713是德州仪器(TI)生产的一款高性能浮点DSP,其存储器映射对于理解和编写高效程序至关重要。内部RAM分为L2和内部RAM/Cache两部分,分别占据192KB和64KB的地址空间。在这些内存区域,程序可以直接访问数据,而内部RAM/Cache通常用于高速缓存频繁使用的数据。 除了内部RAM,还有保留的地址空间、EMIF(外部存储器接口)寄存器、L2寄存器、HPI(主机端口接口)寄存器、McBSP(多通道缓冲串行端口)寄存器、Timer寄存器、中断向量寄存器、配置寄存器、EDMA(增强型直接内存访问)RAM和寄存器,以及GPIO(通用输入输出)寄存器等。这些寄存器和内存区域用于设备控制、通信、定时以及中断处理等功能。 中断向量表在程序执行过程中起着关键作用,它是系统响应中断的入口点。在"vectors.asm"文件中,可以定义中断向量表,使得在特定中断发生时,程序能够跳转到相应的处理函数。在C程序中,"C_int00"通常作为复位中断的处理入口。 C6000系列的编译器将C代码分为不同的段,如.text段存放代码,.bss段用于未初始化的全局和静态变量,而栈和动态分配的内存则在.stack和.sysmem段。如果程序不使用动态内存分配函数,编译器就不会生成.sysmem段。编程时,需要注意C6000 DSP的内存模式设置,以及如何正确使能中断,例如通过设置中断使能寄存器IER和开启全局中断。 在C6000上编程与传统的微机环境有所不同,理解编译器如何处理C代码以及对存储器的分配至关重要。例如,全局变量和静态变量位于.bss段,局部变量可能在寄存器或.stack段中。在编写程序时,需要充分考虑这些差异,以确保程序的高效性和正确性。同时,使用如DSP/BIOS这样的实时操作系统可以帮助简化中断处理和任务调度。