zy473551 发表于 2010-9-7 12:52:39

问个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)


============================
之前问过了。是不是问错地方了。

jenkins 发表于 2010-9-7 13:01:02

S3C2440A引导代码可以在外部NAND Flash 存储器上执行。为了支持NAND Flash 的BootLoader,S3C2440A
配备了一个内置的SRAM 缓冲器,叫做“Steppingstone”。引导启动时,NAND Flash 存储器的开始4K 字节将被
加载到Steppingstone 中并且执行加载到Steppingstone 的引导代码。

zy473551 发表于 2010-9-7 13:25:19

我知道有这个装置,

其实我是想问:“,NAND Flash 存储器的开始4K 字节将被 加载到Steppingstone 中并且执行加载到Steppingstone 的引导代码。”

这个加载过程,是要通过 NAND FLASH的接口,而这个接口是需要手工写驱动才可以实现读取代码的。而这个驱动还在NAND FLASH里面存着,并未运行。 这个加载使用的是谁的驱动?


如果2440本身就支持NAND FLASH的硬件读取功能,那么我们还写NAND FLASH 驱动干嘛?

谢谢

jenkins 发表于 2010-9-8 18:22:17

请查看说明书:
NAND FLASH 驱动不只是简单的完成数据读取,还包括其他很多功能。
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_581385DHQJ0O.gif
(原文件名:未标题-1.gif)

zy473551 发表于 2010-9-20 08:57:25

恩,懂了。非常感谢

我还有另外一个帖子,关于yaffs2文件系统的。

不忘赐教。谢谢

liouravr 发表于 2010-9-20 09:01:02

板凳......
页: [1]
查看完整版本: 问个NAND FLASH 启动的问题