DM8148的DDR3如何配置

1 准备工具

  1. 需要下载两张excel表格,一张是根据DDR3芯片型号计算DM8148的DDR3控制器的时序参数的表格,一张是根据PCB板子布线中CK trace长度与DQS trace长度来计算DDR3控制器的物理偏移参数的表格。

DM814x-DDR-Controller-Register-Configuration-spreadsheet-v1.0.xls(时序表格);

RatioSeed_TI814x.xls(物理参数表格);

  1. 需要下载一个计算DDR3物理偏移参数的.out文件,在A8核心上运行此可执行文件,根据表格计算出的参数,填写到运行时的控制台中,便可生成DDR3控制器物理偏移参数;

 DDR3_SlaveRatio_ByteWiseSearch_TI814x.out;

  1. 需要下载一个.get文件,用来配置运行时的DDR3外设参数;

TI814x_ddr3_0.gel

  1. 需要下载固化的DM8148的uboot文件;

2 配置步骤

  1. 打开RatioSeed_TI814x.xls表格,输入DDR3的运行时钟和PCB上的CK trance和DQS trance线的长度,就会得到WR DQSRD DQSRD DQS GATE(用于后续.out文件运行的输入参数)三个参数,如图1所示。

DM8148的DDR3如何配置_第1张图片

图1,物理参数计算

  1. 打开DM814x-DDR-Controller-Register-Configuration-spreadsheet-v1.0.xls表格,在DRAM栏中输入对应DDR3型号对应的时序参数,如图2所示,然后在切换到DDR Controller Registers,在白色空白处填入自己选择的DDR3芯片对应的参数值。

DM8148的DDR3如何配置_第2张图片

图2 DRAM参数配置

DM8148的DDR3如何配置_第3张图片

图3 DDR Controller Registers参数配置

  1. 通过步骤2得到的寄存器值,修改GEL文件,将新生成的寄存器值修改到GEL文件中对应寄存器值的位置,如图4所示,打开gel文件,找到//DDR3 400 MHz - CL=6,CWL=5的位置,注释原来的默认值,将表格中的值修改到对应位置:

DDR3_EMIF_TIM1_DEFINE_400->SDTIMR1

DDR3_EMIF_TIM2_DEFINE_400-> SDTIMR2

DDR3_EMIF_TIM3_DEFINE_400-> SDTIMR3

DDR3_EMIF_REF_CTRL_DEFINE2_400->SDRRCR

DDR3_EMIF_SDRAM_CONFIG_DEFINE_400->SDRCR

DDR3_EMIF_DDRPHYCR_DEFINE_400->DDRPHYCR

DM8148的DDR3如何配置_第4张图片

图4 GEL文件的修改

  1. 修改完gel后保存,保存位置不能有中文路径,然后打开ccs5.5,点击工具栏中的文件选项卡,新建一个链接文件,如图5所示。

DM8148的DDR3如何配置_第5张图片

图5 新建链接文件

  1. 配置链接文件的值,根据室内仿真器型号和DM8148芯片型号在链接文件中选择XDS560V2版USB仿真器和DM8148平台,如图6所示。

DM8148的DDR3如何配置_第6张图片

图6 配置链接文件

  1. 连接好仿真器连线,给目标板子上电,点击绿色小爬虫按钮,进入debug模式,选择A8处理器核心,鼠标右键点击,选择connect target,将CCS与目标板连接上,如图7所示。

DM8148的DDR3如何配置_第7张图片

图7 链接目标板

  1. 连上以后,点击工具栏上的tools选项卡,在下拉菜单中选择GEL Files,此时右边中框就会出现GEL Files文件框,如图8所示。

DM8148的DDR3如何配置_第8张图片

图8 打开GEL文件框

  1. 在GEL文件框中的空白处点击鼠标右键,在下拉菜单中选择加载GEL文件,弹出文件选择框,选择之前步骤3修改好的GEL文件,如图9所示。

DM8148的DDR3如何配置_第9张图片

图9 加载GEL文件

  1. GEL加载完成后,在工具栏中点击Scripts选项卡,在下拉菜单中点击TI814x DDR Configuration下的DDR3_EMIF1_400MHz_Config,初始化好基本的DDR3时序参数,如图10所示。

DM8148的DDR3如何配置_第10张图片

图10 初始化DDR3时序参数

  1. 脚本初始化DDR3后,点击View选项卡,在下拉菜单中选择Registers,此时在右上角会出现寄存器配置信息表,如图11所示。

DM8148的DDR3如何配置_第11张图片

图11 打开寄存器配置信息表

  1. 打开配置信息表后,点开Core Registers寄存器配置,找到CPSR寄存器,在M的位域中填写为10011(0x13),如图12所示。

DM8148的DDR3如何配置_第12张图片

图12 配置CPSR寄存器

  1. 配置好CPSR寄存器后,点击选项卡中的Tools,在下拉菜单中选择ARM Adranced Feathers,打开ARM配置框,如图13所示。

DM8148的DDR3如何配置_第13张图片

图13 打开ARM配置框

  1. 在ARM Adranced Feathers框中选择NEON Enabled,使能NEON功能,如图14所示。

DM8148的DDR3如何配置_第14张图片

图14 使能NEON功能

  1. 选择好ARM功能后,点击Run选项卡,在下拉菜单中选择Load选项,点击Load Program..,选择之前准备好的.out文件,如图15所示。

DDR3_SlaveRatio_ByteWiseSearch_TI814x.out

DM8148的DDR3如何配置_第15张图片

图15 加载.out文件

  1. 加载好执行文件后,点击运行按钮,开始运行程序,如图16所示。

DM8148的DDR3如何配置_第16张图片

图16 运行程序

  1. 开始运行程序后,在Console控制台框中会出现输入参数提示,第一个参数是表示选择第一个EMIF接口的DDR3的配置参数还是第二个EMIF接口的DDR3配置参数;第二个参数是步骤1中表格中的RD DQS GATE的数值;第三个参数是步骤1中表格中的RD DQS的数值;第四个参数是步骤1中表格中的WR DQS的数值;第五个参数表示保存文件的文件名字;每次输入一个参数就按下回车键,如图17所示。

DM8148的DDR3如何配置_第17张图片

图17 输入参数

  1. 输入所有参数以后,等待一段时间,便会生成需要配置的DDR3控制器的物理偏移参数值表,在相应的位置会生成一个文件保存这些配置,如图18所示。

DM8148的DDR3如何配置_第18张图片

图18 输出结果

  1. 生成了结果以后,需要在将DDR3的参数写入到Uboot文件中,在Uboot文件夹中找到arch-ti81xx文件夹(uboot\arch\arm\include\asm\arch-ti81xx),找到文件ddr_defs_ti814x.h,将步骤2中的结果值和步骤17中生成的结果值修改到此文件中,如图19与图20所示,图19修改时序参数,图20修改物理偏移参数。

DM8148的DDR3如何配置_第19张图片

图19 修改时序参数到Uboot

DM8148的DDR3如何配置_第20张图片

图20 修改物理偏移参数到Uboot

你可能感兴趣的:(TI_DSP学习)