|
对比发现两个文件不一样,init.s和Memcfg.inc
init.s的301行,
ldr r9,=0x8000000 ;128MB(old) ldr r9,=0x4000000 ;64MB(new)
============================
Memcfg.inc(old)
B6_Trcd EQU 0x1 ;3clk
B6_SCAN EQU 0x2 ;10bit
B7_Trcd EQU 0x1 ;3clk
B7_SCAN EQU 0x2 ;10bit
Trp EQU 0x1 ;3clk
Trc EQU 0x1 ;5clk
REFCNT EQU 1268 ;period=7.8us, HCLK=100Mhz, (2048+1-7.8*100)
============================
Memcfg.inc(new)
B6_Trcd EQU 0x2 ;4clk
B6_SCAN EQU 0x1 ;9bit
B7_Trcd EQU 0x2 ;4clk
B7_SCAN EQU 0x1 ;9bit
Trp EQU 0x2 ;4clk
Trc EQU 0x2 ;6clk
REFCNT EQU 1269 ;period=7.8us, HCLK=100Mhz, (2048+1-7.8*100)
=============总结================
1.将init.s文件用new的替换,不能解决问题;
2.将Memcfg.inc用new替换,解决问题;
3.将init.s文件继续用old,仍然解决问题;
4.init.s在起始include了memcfg.ini,而memcfg的主要工作就是设置sdram的充电时间,pre、Hold等时间,new和old文件差了几个clk,所以sdram不能运行,所以axd调试的时候没进到main程序,直接就在0x8000000莫名其妙的地址。
5.memcfg的头注释; Revision: 03.11.2003 ver 0.0 Attatched for 2440,都是一样,坑啊。
|
|