AXD调试中初始化SDRAM的脚本语句

很多人可能都搞不清楚一块裸板能否直接将程序下载到SDRAM中去运行呢?是因为对SDRAM的机理没有搞清楚,其实SDRAM和SRAM的一个根本的区别就在于SDRAM的控制有众多的寄存器需要配置,所以不能使用AXD直接将程序下载到SDRAM中去运行。不过可以先利用AXD提供的脚本初始化功能写好一个脚本程序,利用该程序先初始化SDRAM控制器,然后才可以将程序下载到SDRAM中运行。

硬件配置:

CPU:AT91RM9200

CS0:32MB NORFLASH

CS1:64MB SDRAM 

在AXD中运行以下脚本即可将程序倒入到指定的SDRAM中运行。将以下文件保存为1.TXT的文本文件,并放在与调试源文件(axf文件)的相同目录下,在AXD中使用快捷键ALT+L即可弹出脚本命令输入框,输入:   ob 1.txt 即可执行该脚本命令将SDRAM初始化。注意在ADS中使用调试或运行命令弹出AXD时,由于此时AXD在装入程序前SDRAM没有初始化,因此程序运行往往出错。在运行初始化SDRAM命令后重新将映像文件倒入,即可正常调试。

 SETMEM  0XFFFFF870 0XFFFF0000 32
 SETMEM  0XFFFFF874 0X00000000 32
 SETMEM  0XFFFFF804 0XFFFF0000 32
 SETMEM  0XFFFFFF60 0X00000002 32
 SETMEM  0XFFFFFF98 0X2188C159 32
 SETMEM  0XFFFFFF90 0X00000002 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0XFFFFFF90 0X00000004 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0XFFFFFF90 0X00000003 32
 SETMEM  0X20000080 0X00000000 32
 SETMEM  0XFFFFFF94 0X000002E0 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0XFFFFFF90 0X00000000 32
 SETMEM  0X20000000 0X00000000 32
 SETMEM  0X20000000 0X00000000 32

你可能感兴趣的:(嵌入式平台开发)