首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > 对S3C2410-2440启动代码内数据复制过程的分析(原创...

对S3C2410-2440启动代码内数据复制过程的分析(原创...

资料介绍
对S3C2410-2440启动代码内数据复制过程的分析对 S3C2410 启动代码内数据复制过程的分析
东莞权智集团 范伟 mail: fanwei326@163.com; wfan@gsl.com.cn 本文若有错误之处,欢迎来信指正。 S3C2410 启动后先进行一些必要的设置, 如关 WatchDog, 设置 PLL 与时钟, 配置 SDRAM, 初始化堆栈等, 网上有很多分析启动代码的文章,本文不打算再进行说明。 本文分从 NOR Flash 与 NAND Flash 启动两种情况分别进行分析。首先要知道 NOR Flash 是 XIP 的,如 果从 NOR 启动,代码首先在 NOR Flash 内执行,考虑到运行速度,我们要把代码要复制到 SDRAM 内去执行。 当系统被设置成从 NAND FALSH 启动(使用 OM[1:0]引脚的电平来控制)时,由于其自身的特点,NAND Flash 不具备运行程序的功能,程序不能在 NAND Flash 内执行,CPU 会自动把 NAND 内头 4K 代码加载到 CPU 的内部 SRAM(StepingStone 垫脚石)中,然后把 StepingStone 映射到 CPU 地址空间的 0 地址处(BANK0),因 此 CPU 会从 StepingStone 的 0 地址处取指令并执行。因为程序一般都会大于 4K,我们必须把代码复制到 SDRAM 中去执行。综上所述,不管是从 NOR 的启动还是从 NAND 启动,都要把代码复制到 SDRAM 中去执行, 这个复制过程要在头 4K 代码中完成。此后这 4KB 的 SRAM 还可以用作其它用途。 另外必须注意到的是 NOR 的启动与 NAND 启动的程序入口点 ResetEntry 都为 0, CPU 在加电后会去 0x0 处取指执行,如下图所示。

一、我们先看从 NOR Flash 启动的情况:
下面这段代码进行复制前的判断,
对S3C2410-2440启动代码内数据复制过程的分析(原创...
本地下载

评论