在TMS320C6713 板中,为了使SDRAM,FLASH 运行起来,需要设置寄存器,同时同步时钟需要进行PLL的设置。 基本寄存器构型: /* EMIF setup */ *(int *)EMIF_GCTL = 0x00000068; *(int *)EMIF_CE0 = 0x20f20333; /* CE0 SDRAM */ *(int *)EMIF_CE1 = 0xffffff23; /* CE1 Flash */ *(int *)EMIF_CE2 = 0x20f20323; /* CE2 I/O 32-bit async */ *(int *)EMIF_CE3 = 0xffffff23; /* CE3 I/O 32-bit async */ *(int *)EMIF_SDRAMCTL = 0x53116000; /* SDRAM control (32 Mb) */ *(int *)EMIF_SDRAMTIM = 0x00000578; /* SDRAM timing (refresh) */ *(int *)EMIF_SDRAMEXT = 0x000a8529; /* SDRAM Extension register */ PLL 寄存器构型: /* Set the PLL back to power on reset state*/ *(int *)PLL_CSR = 0x00000048; *(int *)PLL_DIV3 = 0x00008001; *(int *)PLL_DIV2 = 0x00008001; *(int *)PLL_DIV1 = 0x00008000; *(int *)PLL_DIV0 = 0x00008000; *(int *)PLL_MULT = 0x00000007; *(int *)PLL_OSCDIV1 = 0x00008007; 2 TMS320C6713 DSP 板的Loader 过程 和以往 TI 公司的DSP(如 3x,4x)采用引导表由固化在DSP 内部的引导程序实现程序的自引导不同,TMS320C6000 系列 DSP 采用的是一种新的引导方法,对于 TMS320C6713,上电后,若选择从 EMIF 引导程序,则 DSP 自动将位于地址空间 CE1(0x90000000~0x9FFFFFFF)开头的1KB 代码传输到地址空间 0处。它的数据传输采用默认时序,用户可以选择外部程序存储器的宽度(8 位/16 位/32 位),然后由 EMIF自动将几次读入的数据合成 32 位数据。传输由 DSP 中的 EDMA 通道以单帧的形式自动进行,传输完成后,程序从地址空间 0 处开始运行[4]。因此,要在 TMS320C671x 中实现基于 FLASH 的自引导功能,必须将FLASH 配置在 DSP 的 CE1 地址空间中。 以上工作均由 DSP 自动完成。很明显,自动传输的代码并不能满足绝大多数编程者对代码长度的要求,因此可在这段代码中加入数据传输功能,从而将实际工作中远大于1KB 的代码由 FLASH 中读入到用户指定的存储空间,然后再将程序跳到实际有用的代码处运行。对 FLASH 编程并实现程序自引导的具体过程如下。 2.1 DSP 程序的文件格式变换 由 CCS 得到的代码为目标文件格式(COFF)。COFF...