S3C6410启动方式及启动流程
来源:互联网 发布:房贷利息抵扣个税算法 编辑:程序博客网 时间:2024/05/17 22:12
转自 S3C6410启动方式及启动流程
以 Tiny6410 为例,分析S3C6410启动方式及启动流程。
S3C6410手册 03-SystemController:
Internal clocks will be generated using external clock source as illustrated in Table 3-1. The OM[4:0] pinsdetermines the operating mode of S3C6410X when the external reset signal is asserted. As described in the table, the OM[0] selects the external clock source, i.e., if the OM[0] is 0, the XXTIpll (external crystal) is selected.Otherwise, XEXTCLK is selected.
OM[0] 信号为 S3C6410 时钟源选择信号,当 OM[0] 为 0 时,选择 XXTIpll;当 OM[0] 信号为 1 时,选择 EXTCLK。Tiny6410 OM[0] 接 GND,因此选择的是 XXTIpll。
OM[4:1] 信号为 S3C6410 启动方式配置引脚。Tiny6410 通过拨码开关控制,拨到 NAND 一侧 OM[4:1] = 0011;拨到 SD 一侧 OM[4:1] = 1111。
SELNAND 信号用来选择 Flash 存储器类型,当选择 Nand Flash 时,为高电平;选择 OneNand 存储器时,为低电平。Tiny6410 SELNAND 信号接高电平,因此选择的是 Nand Flash。
EINT13-EINT15 为 IROM 启动方式设备选择引脚。当使用 IROM 启动方式时,S3C6410 运行片内 ROM 固化的代码,并根据 EINT13-EINT15 引脚状态,选择不同的设备启动。Tiny6410 中这三个引脚都为低电平,因此如果选择 IROM 启动,默认的设备是选择 SD/MMC 卡,事实上确实如此。
你也许会有疑问,S3C6410 手册中并没有写支持 NAND 启动,相反在 Table3-1 中却出现一个 RESERVED,其实这个RESERVED 就是所谓的 NAND。这些在 S3C6400 手册中可以查看到,S3C6410 的启动方式兼容 S3C6400。
Samsung 有意隐藏 NAND,估计是不想让用户过于依赖传统的 NAND 启动,而改用较新的 IROM 启动。
启动流程分析:
1.NAND 启动:对于 NAND 启动,硬件会自动拷贝 Nand Flash 前面 8K 数据到片内 RAM(Stepping Stone) 中,然后开始从片内 RAM 执行。如果程序大于 8K,必须在前面 8K 代码中完成 DDR 和 Nand Flash 的初始化,并将代码搬运到 DDR 中运行。
2.IROM 启动:对于 IROM 启动,6410 上电复位后会执行 IROM 里面的代码,完成基本的硬件初始化,然后从 SD 卡(假定外部设备使用SD卡)特定扇区拷贝 8K 数据到片内 RAM(Stepping Stone) 中,并跳转到片内 RAM 运行。如果程序大于 8K,必须在前面 8K 代码中完成 DDR 和 SD 卡的初始化,并将代码搬运到 DDR 中运行。
注意:如果是 NAND 启动,片内内存是映射到地址 0x0-0x2000,如果前面的代码需要使用 C 函数,通常我们使用命令 ldr sp, =8*1024 将栈指针指向片内内存最高处。如果是 SD 卡启动,片内内存保持原来的地址 0x0C000000-0x0FFFFFFF(实际上只有8K可用空间),如果前面的代码需要使用 C 函数,通常我们使用命令 ldr sp, =0xC002000 将栈指针指向片内内存最高处。
关于 IROM 启动更详细的资料可以参考:S3C6410 IROM启动分析
- S3C6410启动方式及启动流程
- S3C6410 NAND启动流程
- S3C6410 NAND启动流程
- S3C6410 NAND启动流程
- S3C6410 NAND启动流程
- s3c6410 ARM11启动流程
- S3C6410启动方式
- S3C6410 ARM处理器启动流程
- hive 启动方式及执行流程
- s3c6410 完全由SD卡启动Linux流程
- S3C6410 完全由SD卡启动Linux流程
- s3c6410 完全由SD卡启动Linux流程
- ARM处理器启动流程———S3C2440、S3C6410、S5PV210
- ARM处理器启动流程———S3C2440、S3C6410、S5PV210
- ARM处理器启动流程———S3C2440、S3C6410、S5PV210
- oracleday02(启动流程 认证方式)
- S3C6410启动模式介绍
- S3C6410启动模式介绍
- TensorFlow 模拟线性回归代码样例
- Java内存泄漏总结
- PTA 7-21(排序) PAT排名汇总(25 分)25分代码
- Web前端攻城狮-Day1-HTML基础
- Linux 之GDB工具
- S3C6410启动方式及启动流程
- 织梦cms网上复制图片不可用的解决方法
- 关于photoshop使用的注意
- 剑指offer---最小的k个数
- NOIP模拟 2017.10.4 总结
- Java基础部分第十四节-正则
- SpringBoot四大神器之Actuator
- HTML 表格的制作
- 自我介绍??