S3C2410启动分析:NOR与NAND Flash的数据复制
需积分: 9 183 浏览量
更新于2024-09-15
收藏 150KB PDF 举报
"本文主要分析了S3C2410和S3C2440微处理器在启动过程中的数据复制步骤,特别是在NOR Flash和NAND Flash启动时的不同处理方式,对于理解和掌握底层代码有重要作用。"
在S3C2410和S3C2440这样的嵌入式处理器中,启动过程涉及多个关键步骤,包括初始化硬件、设置时钟、配置存储器以及数据复制。当系统从NOR Flash启动时,由于NOR Flash支持执行In-System Programming (XIP),代码可以直接在NOR Flash内运行。然而,为了提高执行效率,通常会将代码复制到SDRAM中。启动代码会首先检查BWSCON寄存器的[2:1]位,这些位反映了外部引脚OM[1:0]的状态,从而确定启动源。如果OM[1:0]不等于00,表示从NOR Flash启动。
如果系统设置为从NAND Flash启动,情况就有所不同。NAND Flash不支持直接执行代码,因此在启动时,CPU会自动将NAND Flash中的前4KB代码加载到内部SRAM(StepingStone)中,并将其映射到CPU地址空间的BANK0,即0地址处。CPU随后从这个映射的地址开始执行代码。由于大部分程序远超过4KB,因此必须将剩余的代码复制到SDRAM以便继续执行。无论启动源如何,这4KB的SRAM在复制完成后可以用于其他目的。
在NOR Flash启动的情况下,代码通常有一个预设的入口点ResetEntry,其值为0,这意味着CPU在加电后会从0x0地址开始取指执行。因此,启动代码需要在这4KB的内部SRAM中包含必要的复制逻辑,以将NOR Flash中的代码安全地迁移到SDRAM。
NAND Flash启动时,同样入口点ResetEntry也为0,但初始执行发生在StepingStone中。由于NAND Flash启动的特殊性,启动代码需要在有限的4KB SRAM空间内执行复制任务,之后也需要将StepingStone清空,以释放这部分内存供后续使用。
S3C2410和S3C2440的启动过程涉及对不同存储器类型的处理,尤其是在数据复制方面,这是理解嵌入式系统底层运作的关键部分。通过分析这两种启动方式,开发者能够更好地理解如何优化系统性能,并为自己的应用做好准备。
2011-09-13 上传
2010-06-11 上传
2009-08-11 上传
点击了解资源详情
点击了解资源详情
201 浏览量
2010-10-19 上传
2021-05-20 上传
2008-12-18 上传
wfq0624
- 粉丝: 47
- 资源: 10
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载