您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > DSP的存储空间映射、配置
TI54系列DSP的存储空间映射、配置-以TMS320VC5416的中断设计为例曹洪龙苏州大学电子信息学院为什么要对TI54系列DSP的存储空间进行映射和配置?DSP程序运行时访问的地址是存储空间的逻辑地址,必须通过映射才能和片内存储器或片外寻址对应起来通过PMST寄存器控制DSP程序的存储和运行地址比较灵活,需要设计人员自行配置,保证DSP程序可以高速运行由CMD文件进行配置TMS320VC5416DSP的存储空间有23根地址线(A0-A22)和16根数据线(D0-D15)管脚最大访问空间是223×16bit=8MWords数据空间支持16位地址和16位数据宽度访问空间为216×16bit=64KWords程序空间支持23位地址和16位数据宽度分成27=128页64KWords的程序空间IO空间支持16位地址和16位数据宽度,固定片外寻址访问空间为216×16bit=64KWordsPortR和PortW两条汇编指令用于IO空间访问64KWords的DARAM(双访问RAM)每8K一块,被分成8块,由低地址开始记作DARAM0-DARAM7在同一块内一个指令周期支持两个操作64KWords的SARAM(单访问RAM)每8K一块,被分成8块,由低地址开始记作SARAM0-SARAM7在同一块内一个指令周期仅支持一个操作,但支持一个指令周期同时对不同的块完成两个操作16KWords的ROM掩模ROM,只能读不能写TMS320VC5416DSP的内部存储资源TMS320VC5416DSP的存储空间映射由处理器工作方式与状态寄存器PMST控制具体由MP/MC、OVLY、DROM三个位控制DROMOVLYMP/MCIPTR数据空间程序空间0x00000x7FFF0x80000xFFFF0x00000x7FFF0x80000xFFFFMMR0x007FXPC=DROM=0OVLY=1MP/MC=00DARAM0~3块(0x0000~0x007F保留)内部ROM映射到0xFC00~0xFFFFDARAM0~3块(0x0000~0x007F保留)外部寻址TMS320VC5416DSP的存储空间配置DSP可执行程序以段为单位组织代码和数据程序设计时要命名段采用链接配置文件(CMD文件)进行存储空间配置将DSP程序生成的段配置到程序空间和数据空间根据存储空间映射信息,将段和物理存储器对应起来原则:尽可能将段放置在片内RAM中,保证DSP程序可以高速运行TMS320VC5416DSP的存储空间配置-CMD文件结构TMS320VC5416DSP的存储空间分配和配置综合OVLY=1DROM=1以TMS320VC5416的中断设计为例看存储空间映射和配置1.中断向量地址计算方法(1)取PMST寄存器的IPTR的值(中断向量指针,9位)(2)查DSP的中断表得到中断向量序号(5位)(3)将中断向量序号左移2位(4)将IPTR值左移7位与(3)相加,得到中断向量地址INT0序号为16左移两位后为40H1.硬件复位值为0x1FF。2.用户可以软件设置3.软件复位该值不变化以TMS320VC5416的中断设计为例看存储空间映射和配置2.中断向量表程序设计TI54系列DSP最大支持序号0~31的32个中断(存在复用)根据中断向量表地址计算方法,每个中断向量占4个字(序号左移两位),整个中断向量表共占128个字硬件复位后,其中断向量表首地址为0xFF80(0号中断地址)软件设置IPTR后,其中断向量表地址发生变化,为使中断高速响应,应在片内RAM中运行IPTR=111111111(1FFh)+K=00000001111111110000000FF80h故硬件复位后的开始地址为0xFF80。以TMS320VC5416的中断设计为例看存储空间映射和配置3.中断向量表程序示例.sector“vectors”表明中断向量表代码位于vectors段必须把vectors段放置在片内RAM中,用以高速响应中断在DSP程序初始化时,若将IPTR=0x001,则中断向量表初始地址为0x80在CMD文件中,在PAGE0中配置一块地址从0x80开始,共128Words,并将vectors段配置到该区域设计OVLY=1,将DARAM0~3块映射到程序空间,实现中断向量表在DARAM中运行.mmregs.includeglobal_system.h54.includedsp_const.h54.sectvectors_int_reset:B_main;MainprogramNOPNOP.space72*16_int_timer0:addm#1,*(_sTimerCounter)rete_int_rint0:st#0x0001,*(_sStateDataReady)rete.space4*16以TMS320VC5416的中断设计为例看存储空间映射和配置OVLY=1DROM=1vectorsvectorsIPTR=0x001若IPTR=0x0FF,CMD文件应怎样编写,存储空间如何映射?以TMS320VC5416的中断设计为例看存储空间映射和配置IPTR=0x0FF时,中断向量表首地址为IPTR7+02=0x7F80修改CMD文件中Memory中VECS的起始地址为0x7F80在空间使用安全和不浪费空间的原则上,修改PROM和MCBSP0_MEM的设计BUFF_MEMDARAM(OVLY=1)0x00000x7FFF0x80000xFFFFMMR0x007FPARA_MEMSTACK_MEMMCBSP0_MEM0x01000x50000x1FFF0x20000x3FFF0x40000x4FFFVECSPROM0x00800x00FFVECS0x7F800x7F7Fvectors思考:目前CMD文件的设计,为使DSP程序高速运行,使用片内RAM作为程序和数据空间的物理存储器。RAM中程序掉电丢失,不能永久存储。若修改CMD文件,使DSP程序在片外寻址,要注意事项DSP片内没有可写ROM,DSP程序必须存储于片外ROM片外ROM读写速度是DSP程序运行的瓶颈,致使DSP程序不能高速运行应考虑让DSP程序在片外ROM存储,在片内DARAM中运行解决DSP程序永久存储和高速运行矛盾,可以采用bootloader程序请关注TI54系列DSP的Bootloader设计的教学!谢谢!
本文标题:DSP的存储空间映射、配置
链接地址:https://www.777doc.com/doc-7408167 .html