MINI2440 下对 NandFlash 烧写 和 裸版程序环境搭建初步

最近一直在苦恼于自己编写的NandFlash 裸版驱动不能运行成功,于是重新思考了NandFlash烧写的过程,现总结如下:

         我们都知道NandFlash只有8根线,而且是数据命令地址共用的,所以它不可能在S3C2440的地址空间BANK上占用一席之地,即不能用访问内存的方式访问到NandFlash,所以不能用jlink像烧写NorFlash那样烧写,现将我尝试的一套方法总结如下:

1.      NorFlash里烧写好uboot

2.      NorFlash启动,进入uboot

3.      通过tftp 命令将事先放在虚拟机服务器上的要烧写到NandFlash中的二进制文件下载到内存中,tftp 31000000 leds.bin

我们先看看leds.bin中的内容:

4.      使用uboot命令擦除并烧写NandFlash:

nand scrub

nand erase 030000

nand write.jffs231000000 0 30000

这里要提到的是,由于擦除了NandFLash会使得原本存储在NandFlash的一些uboot参数擦除了,会使得下次再次启动uboot时,一些网络命令不可用,故要再次配置这些参数。

在用nand dump 0 来看看烧写后NandFlash中的内容:

完全一样,说明烧写成功!

5.      NandFlash启动方式重启开发板,

SRAM中即为NandFlash4K的内容,这样就可以执行leds.bin裸版程序定义的功能了。

你可能感兴趣的:(嵌入式硬件)