首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > S3C2440的nandflash启动过程

S3C2440的nandflash启动过程

资料介绍
s3c2440的nandflash启动上文介绍了 s3c2440 对 nandflash 的基本操作,其中提到了 s3c2440 具有 nandflash 自启动的 功能,本文就详细介绍该功能的实现方法。

nandflash 由 于 其 自 身 的 特 点 , 不 具 备 运 行 程 序 的 功 能 。 但 s3c2440 通 过 称 为 “Steppingstone”的内部 SRAM 缓存,实现了可以运行存储在外部 nandflash 中的启动代码的 功能。它的机制是:当检测到是由 nandflash 启动时,系统会自动把 nandflash 中的前 4k 字 节的数据加载到 Steppingstone 中,然后把该 Steppingstone 映射为 Bank0 ,因此系统会从 Steppingstone 开始运行程序,从而实现了 s3c2440 的 nandflash 自启动的功能。这一过程是 由系统自动完成的,无需人为干预。在系统启动以后, Steppingstone 所在的 SRAM 就可以 用作其他用途了。

但有人可能会问,如果我的程序很大,超过了 4k 字节,那是不是就不能利用 s3c2440 的这 个功能了呀?因为 Steppingstone 只有 4k 字节大小,也就是程序运行的最大长度只能为 4k 字节,4k 字节以外的内容就运行不到了。这个疑问的答案当然是否定的。我们可以通过在 Steppingstone 中,把程序的其余部分复制到 RAM 中,程序运行时由 Steppingstone 转移到该 RAM 中,从而就解决了上述难题。一般来说,在启动代码的前 4k 字节里,要完成 s3c2440 的核心配置,而把启动代码的剩余部分搬到 RAM 中运行。

下面我们就介绍一下如何实现上述的功能。

在本博客的第一篇文章中,我们介绍了 s3c2440 的启动代码,其中有下面这段代码:

……
标签:s3c2440nandflash启动
S3C2440的nandflash启动过程
本地下载

评论