昨天做了nand-flash到sdram的4k数据的拷贝,数据从steppingstone拷贝到sdram上面执行;今天接着,将对nand-flash上4k以后的数据进行拷贝,所以重点是nand-flash和sdram的控制。
先说说tq2440开发板。
当开发板boot跳线接上时,处理器上电后从nand-flash启动从0x0开始执行,nand-flash开始的4k数据会自动的复制到内部sram执行
下面是s3c2440关于memory启动时的特性说明:
In recent times, NOR flash memory gets high in price while an SDRAMand a NAND flash memory is comparatively economical ,motivating some users to execute the boot codeon a NAND flash and execute the main code on an SDRAM.
S3C2440A boot code canbe executed on an external NAND flash memory. In order to supportNAND flash boot loader, the S3C2440A is equipped with aninternal SRAM buffer called ‘Steppingstone’. When booting, thefirst 4 KBytes of the NAND flash memory will be loaded intoSteppingstone and the boot code loaded into Steppingstone will beexecuted.
Generally,the boot code will copy NAND flash content to SDRAM. Usinghardware ECC, the NAND flash data validity will be checked. Uponthe completion of the copy, the main program will be executed on theSDRAM.
认真读完这几段,启动时存储器的使用过程将有个大概的认识。
在上次的实验中,我们就是控制SDRAM将数据从SRAM(steppingstone)拷贝到天嵌开发板上的sdram(使用bank6,地址0x3000000)上。
上图是我依照自己的理解绘出的启动时拷贝过程,敬请指正。