2440的Nand启动
来源:互联网 发布:淘宝无线店铺网址 编辑:程序博客网 时间:2024/05/23 10:13
2440的Nand启动的简略图是这样的
4K的SRAM的启动地址是0x0000000
启动时硬件强制执行
1.强制将Nand Flash前4K的内容拷贝到SRAM中(0地址)
2.CPU从0地址开始执行
所以说 制定代码块从0开始启动
Nand启动软件初始化
1.设置栈
sp指向某块内存,通常情况下指向SRAM(所以通常不用初始化),如果指向SDRAM需要初始化
2.设置main函数的返回地址
3.调用main函数
4.清理工作
Nand启动硬件初始化
1. 关闭看门狗
2.初始化始终(如果速度不强求,可以不设置)
3.初始化SDRAM(没有用到则不需要初始化)
eg:
@******************************************************************************
@ File:crt0.S
@ 功能:通过它转入C程序
@******************************************************************************
.text
.global _start
_start:
硬件初始化 关闭看门狗
ldr r0, =0x53000000 @ WATCHDOG寄存器地址
//将0x53000000的值放在r0中
mov r1, #0x0 //将0x0这个值放入r1中
str r1, [r0] @ 写入0,禁止WATCHDOG,否则CPU会不断重启
//将r1中的值放到r0中存放的地址当中
软件初始化 设置栈
ldr sp, =1024*4 //因为会强制将Nand的前4K放到SRAM中,不过程序占用不了4K的大小,所以将将栈的地址放到SRAM的4K之后
bl main @ 调用C程序中的main函数
halt_loop:
b halt_loop
- 2440的Nand启动
- 2440的nand启动与nor启动
- nand nor的启动
- S3C2440的NAND启动
- NAND Flash启动的问题
- S3C2410X的NAND flash启动
- NAND Flash启动的问题
- 2440的nor flash与nand flash启动过程区别
- Nand 启动
- 从nand的启动的uboot
- 一种NAND FLASH自启动的新方法
- STi7105用nand flash启动的问题
- 关于从NAND Flash启动的问题
- 关于从NAND Flash启动的问题
- 关于从NAND Flash启动的问题
- 关于从NAND Flash启动的问题
- AM1808的NAND FLASH启动过程
- u-boot 的NAND启动方式
- vb(2) picturebox、hscrollbar、vscrollbar实现滚动浏览
- Android BaseAdapter介绍和优化
- 建造者模式
- springmvc学习笔记(8)——使用Servlet原生API作为参数
- 用MKL库vRngUniform函数产生uniform随机数的fortran模块
- 2440的Nand启动
- startActivityForResult 用在于多个Activity之间传值时一些需要注意的用法
- 排列的递归实现
- 日拱一卒(五十一)
- 不带css的版本
- 坦克论
- VIM 全选命令
- lua语言学习——入门之环境搭建(纯lua)
- Python Tutorial :Loops and List Comprehensions 其他