s3c2440启动时的内存拷贝过程分析


   今天学院庆典,纪念计算机、软件学院挂牌成立十周年。

   谈起学校的计算机专业倒也蛮牛的样子,好像有几个重点实验室。

   废话少说,昨天做了nand-flashsdram4k数据的拷贝,数据从steppingstone拷贝到sdram上面执行;今天接着,将对nand-flash4k以后的数据进行拷贝,所以重点是nand-flashsdram的控制。

    先说说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将数据从SRAMsteppingstone)拷贝到天嵌开发板上的sdram(使用bank6,地址0x3000000)上。

  

  上图是我依照自己的理解绘出的启动时拷贝过程,敬请指正。

原文地址:https://www.cnblogs.com/yixiaoyang/p/1863881.html