1 导言
跟着微控制器技能的开展,以TI公司TMS320C2000系列为代表的DCS型数字信号处理器DSP运用广泛。该类型DSP内部集成Flash存储器,可将二进制代码同化到其内部的Flash存储器直接运转。这种运转方法在传统嵌入式运用规划中很有用,但在一些算法比较杂乱、体系呼应要求快速、通讯使命比较深重的嵌入式运用中,这种运转方法会导致控制体系呼应缓慢、通讯反常、I/O操作缓慢等问题。针对这些状况,提出一种新的处理计划,来进步DSP代码运转功能。
2 问题剖析及规划计划
因为运用程序在Flash中运转速度远低于在RAM中,因而在杂乱嵌入式运用中会呈现控制体系呼应缓慢、通讯反常、I/O操作缓慢等问题。为了防止这些问题,只能让程序在RAM中运转。TI公司的TMS320C2000系列DSP有2种作业形式:微处理器形式和微控制器形式。当DSP处于微控制器形式时,在RAM中程序运转速度到达峰值,但掉电后程序丢掉,体系无法从头主动运转,因而这种程序运转方法仅适用于仿真调试阶段。因而,DSP有必要作业在微处理器形式下,运用片内Flash作为运转程序的存储和运转介质,才干确保体系上电后主动运转。但其程序运转功率低。因而有必要把这2种作业形式相结合:首先将运用程序固化到片内Flash存储器,当体系上电后由专门规划的装载器(Bootloader) 担任将运用程序南Flash搬移到RAM,然后Bootloader将DSP控制权交给运用程序,然后完成DSP运转速度最高和上电后运用程序主动运转,处理了因程序在不同介质的不同功率所导致的体系呼应缓慢、通讯反常、I/O操作缓慢等问题。
以TMS320LF2407 DSP为例进行阐明:该DSP具有独立的数据存储空间和数据总线,以及程序存储空间和程序总线。只要程序空间的程序才干被DSP视为是可执行程序,数据空间上的程序将被DSP视为操作数据,因而将运用程序直接从片内Flash复制到数据空间的RAM后运用程序是不能运转的。若使复制后的运用程序可以被 DSP视为可执行程序还有必要做一些辅佐作业。
经过对TMS320LF2407的存储映射结构剖析可发现:程序空间和数据空间的扩展区域有部分地址可装备成相同存储介质(Flash或许RAM),经过某种方法可以完成同享,也就是说DSP可以将从Flash中复制到同享RAM的运用程序视为可执行代码。
3 规划计划施行
3.1 TMS320LF2407存储空间装备及CMD文件编写
为完成程序空间与数据空间同享RAM的存储器装备计划,首先要了解C言语7个存储段对存储介质的要求,其具体要求如表1所示。
从表1可以看出:“.bss”、“.sysmem”、“.stack”段的存储介质有必要是RAM,且运用数据空间地址;而“.text”、“. swtich”、“.cinit”段的存储介质可以是RAM或ROM,但有必要运用程序空间地址。“.text”是用来寄存运用程序的可执行代码的专用段,它既可运转在RAM中,也可在Flash中,该段的运转介质决议运用程序是否可以到达最大功能。依据DSP指令链接文件(CMD文件)对汇编段的管理方法可知,“.text”可装备成装载与运转别离的作业形式。这种形式可以使运用程序存储在Flash中,运转在RAM中然后完成DSP上电后全速运转。