Steppingstone,Interal SRAM 4Kib,s3c2440a
来源:互联网 发布:apache配置访问权限 编辑:程序博客网 时间:2024/06/10 08:11
s3c2440的MMU有一种“steppingstone”.技术,它是协助MCU从无法执行程序的NAND FLASH执行启动程序的一种方法。
NAND FLASH启动流程:
1、系统上电后,首先自动判断是否是autoboot模式,如果使用 s3c2410是带有nandflash的,并且被设置成autoboot,从nandflash开始启动.
2、在判断是autoboot模式后,mcu内置的nandflash控制器自动将nandflash的最前面的4k区域(这4k区域存放着 bootloader的最前面4k代码)拷贝到samsung所谓的"steppingstone"里面(steppingstone是在S3C2440 中,实际上是一块4k大小的SRAM,).
3、在拷贝完前4k代码后,nandflash控制器自动将"steppingstone"映射到arm地址空间0x00000000开始的前4k区域.
4、在映射过程完成后.nandflash控制器将pc指针直接指向arm地址空间的0x00000000位置,准备开始执行"steppingstone"上的代码.
5、而"steppingstone"上从nandflash拷贝过来的4k代码,是程序员写的bootloader的前4k代码.这个 bootloader在之前写好,并已经被烧写到nandflash的0x00000000开始的最前面区域..而这"steppingstone"上的 4k代码就是bootloader的前4k代码.
6、在pc指向arm地址空间的0x00000000后,系统就开始执行指令代码.这4k代码的任务(或许是裸机程序)是:初始化硬件,设置中断向量表,设置堆栈,然后一个很重要的任务是,将nandflash的最前面区域的bootloader(包含4k启动代码)拷贝到SDRAM中去,bootloader代码的大小是写好bootloader就确定的.然后只需要确定bootloader想映射到SDRAM的起始位置就ok.
7、在完成对nandflash上的bootloader搬移后,找到4k代码的搬移代码最后一个指令的下一个指令在SDRAM的bootloader的地址,然后跳转到该位置,继续执行bootloader的剩余代码(引导系统).
- Steppingstone,Interal SRAM 4Kib,s3c2440a
- Steppingstone
- S3C2440A
- S3C2440A
- SRAM
- SRAM
- SRAM
- SRAM
- SRAM
- SRAM
- sram
- SRAM
- SRAM
- ARM中Steppingstone启动
- Steppingstone arm启动
- Steppingstone arm启动
- ARM中Steppingstone启动
- Steppingstone Loader of WinCE 5.0
- JAVA笔记【20131206】
- 基于visual Studio2013解决C语言竞赛题之0906文件插入
- Problem 62: DNA Sorting(简单逆序数, 排序问题)
- hdu 2089(不要62)数位DP
- MySQL的LIMIT与分页优化
- Steppingstone,Interal SRAM 4Kib,s3c2440a
- java常用库
- 电阻的分类
- 固定资产更新接口
- Ubuntu中root用户和user用户的相互切换
- 程序组件模块之间的内存管理
- 通信原理之 正交编码
- 一步异步Socket---Linux服务器编程入门之非阻塞IO简介
- 黑马笔记_面向对象知识