问个NAND FLASH 启动的问题
初学ARM,问个NAND FLASH 启动的问题S3C2440,支持 NOR FLASH 和 NAND FLASH 启动。
首先:u-boot的程序可以下载在 NOR FLASH 或者 NAND FLASH 上运行。
A)当由硬件配置成 NOR FLASH启动时:
因为 NOR FLASH 可以在片内运行程序,且属于总线型器件,所以,只要接在地址0处,就可以直接运行程序(不知道我理解的对不对,应该对,哈哈)
问题1:当由NOR FLASH启动后,可以把放在 NAND FLASH中的程序(如 OS),拷贝到 SDRAM中去运行,这样的话,那岂不是程序要小于SDRAM的容量了?或者是分布加载,运行到哪加载哪的程序,这个由谁控制啊?
B)当由硬件配置成 NAND FLASH启动时:
S3C2440有个功能是上电后把NAND FLASH的前4k代码拷贝到芯片内部的sram中去运行。
问题2:由于NAND FLASH不是总线型设备,需要编写驱动代码。可上电后,还未运行任何程序,也就是说NAND FLASH的驱动代码也没有运行,那么这前4K是如何读进2440的呢?
(另外:SD卡也属于 NAND FLASH ,是不是可以用SD卡来启动程序?那样的话,容量可就大了去了。好几十个G)
============================
之前问过了。是不是问错地方了。 S3C2440A引导代码可以在外部NAND Flash 存储器上执行。为了支持NAND Flash 的BootLoader,S3C2440A
配备了一个内置的SRAM 缓冲器,叫做“Steppingstone”。引导启动时,NAND Flash 存储器的开始4K 字节将被
加载到Steppingstone 中并且执行加载到Steppingstone 的引导代码。 我知道有这个装置,
其实我是想问:“,NAND Flash 存储器的开始4K 字节将被 加载到Steppingstone 中并且执行加载到Steppingstone 的引导代码。”
这个加载过程,是要通过 NAND FLASH的接口,而这个接口是需要手工写驱动才可以实现读取代码的。而这个驱动还在NAND FLASH里面存着,并未运行。 这个加载使用的是谁的驱动?
如果2440本身就支持NAND FLASH的硬件读取功能,那么我们还写NAND FLASH 驱动干嘛?
谢谢 请查看说明书:
NAND FLASH 驱动不只是简单的完成数据读取,还包括其他很多功能。
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581385DHQJ0O.gif
(原文件名:未标题-1.gif) 恩,懂了。非常感谢
我还有另外一个帖子,关于yaffs2文件系统的。
不忘赐教。谢谢 板凳......
页:
[1]