之前迷糊了很久,关于s3c2440从Nand启动为什么要先加载4K到内存的问题,百撕不得骑姐,看了国嵌和韦东山的视频,也没说出来个所以然来,最后还是查看samsung官方的手册知道了原因:
下面就是我从三星的官方手册上面截取下来的内容原因:
三星官方说:由于最近NOR闪存价格一直居高不下,但是NandFlash的价格却比较便宜,为了激励一些用户在NAND闪存上执行启动代码并在SDRAM上执行主代码,所以三星进行了如下设计:
S3C2440 启动引导代码可以在外部NAND闪存上执行。 为了支持NAND闪存引导加载程序,S3C2440X专门配备了一个名为“Steppingstone” (垫脚石)的内部SRAM缓冲区。 启动时,NAND闪存的前4 KB将加载到Steppingstone,并将执行加载到Steppingstone的启动代码。
通常,引导代码会将NAND闪存内容复制到SDRAM。 使用硬件ECC,NAND闪存数据。
片内的这4KB的Steppingstone 空间在NandFlash启动后,还能再用于其它目的!
看完觉得有帮助的朋友,点个赞或者留个言哦!谢谢!