用新下载的SAMBA-2.14,连接9260核心板,烧写程序提示初始化外部ram失败,Exram initialization failed。
排查:
1).到samba安装目录下$$\Atmel\sam-ba_2.14\tcl_lib\at91sam9260-ek,列表如下
2)、用ultraedit或者其他什么代码工具打开at91sam9260-ek.tcl,没发现什么东东,只是软件运行的时的设置,包括连接目标板时候初始化代码,及其列表。
3)、百度+谷歌,没发现什么啥,因为之前用以前的samba版本没有什么问题。因此考虑samba的自定制,so check核心板的原理,发现有点问题。
4)、回忆刚才打开的tcl文件内容
namespace eval BOARD { variable sramSize $AT91C_IRAM_1_SIZE variable maxBootSize [expr 4 * 1024] # Vdd Memory 1.8V = 0 / Vdd Memory 3.3V = 1 variable extRamVdd 1 # External SDRAM = 0 / External DDR = 1 variable extRamType 0 # Set bus width (16 or 32) variable extRamDataBusWidth 32 // here something error!! correct it to 16,then ok!!!!! # DDRAM Model (not used) variable extDDRamModel 0 }
5)、发现问题在外部ram总线宽度上,我们用的是16lines,so简单修改下,重新连接ok!!!
namespace eval BOARD { variable sramSize $AT91C_IRAM_1_SIZE variable maxBootSize [expr 4 * 1024] # Vdd Memory 1.8V = 0 / Vdd Memory 3.3V = 1 variable extRamVdd 1 # External SDRAM = 0 / External DDR = 1 variable extRamType 0 # Set bus width (16 or 32) variable extRamDataBusWidth 16 # DDRAM Model (not used) variable extDDRamModel 0 }
6)、后续还需要修改sambanandflash的ecc校验算法,软件目前均采用的是1bit/256bytes,需要修改成4bits/512bytes,到时需要更多的改动,改动的代码,按照samba readme文档已经讲了一部分。其实,就是重新定制编译下samba安装目录下的applets,后续更新吧。中午没睡觉,困死了擦。。。。。。。
7)、后续的需要修改samba软件适应4bits ECC,后续再更新吧