u-boot-2010.03在LT2440上的移植详解 (九)
来源:互联网 发布:绿色傲剑数据 编辑:程序博客网 时间:2024/04/28 15:08
u-boot-2010.03在LT2440上的移植详解 (九)
郑重声明,这系列文章改写自博客园 黄刚先生的《嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解》
转载时请注明出处文章出处:http://www.lt-net.cn
编译系统Ubuntu10.04交叉编译器arm-linux-gcc 4.3.3硬件设备LT2440开发板 测试软件u-boot-2010.03依赖库无
uboot下载地址:http://ftp.denx.de/pub/u-boot/u-boot-2010.03.tar.bz2
本次移植在u-boot-2010.03原有功能的基础上增加如下特性:
1.支持2KB page Nand Flash读写
2.支持Nand/Nor Flash启动自动识别
3.支持DM9000AEP 10M/100M自适应网卡
4.支持yaffs文件系统烧写
5.支持USB下载功能
6.支持一键式菜单
7.支持启动Logo
8.支持ubifs(待续)
上接:u-boot-2010.03在LT2440上的移植详解 (八)
# gedit cpu/arm920t/start.S #ifndef CONFIG_SKIP_LOWLEVEL_INIT #endif #ifndef CONFIG_SKIP_RELOCATE_UBOOT
支持NandFlash/NorFlash自动识别
网上有好多实现的方式,我这里要说一个比价简单的实现:根据s3c2440的硬件特性,当从NandFlash启动是时,有4K的SRAM映射到内存地址0x0开始的4K地址上,这样可以直接读写0x0,而从NorFlash启动是地址0x0对应的是NorFlash,NorFlash是不可以直接写的,需要一个复杂的过程,所以我们可以通过
对0x0地址读写数据是否相等来判断从什么Flash启动。
直接修改start.S ,在启动的时候实现启动方式的判断:
bl
cpu_init_crit
mov r0,#0
ldr r1,=12345678
str r1,[r0]
ldr r2,[r0]
cmp r1,r2
beq nandboot
实现过程分析:
先对地址0x0写入12345678 ,然后在读取0x0地址的数据,对比这个读取到的数据,如果不等于12345678,表示地址0x0不可以写,则是从NorFlash启动的,反之,如果可以直接写(由于SRAM映射),读取的数据就会是12345678,则是从NandFlash启动的。
重新编译,则可以自动识别启动方式,调用相关的代码启动U-boot
下接:u-boot-2010.03在LT2440上的移植详解 (十)
- u-boot-2010.03在LT2440上的移植详解 (九)
- u-boot-2010.03在LT2440上的移植详解 (一)
- u-boot-2010.03在LT2440上的移植详解 (二)
- u-boot-2010.03在LT2440上的移植详解 (三)
- u-boot-2010.03在LT2440上的移植详解 (四)
- u-boot-2010.03在LT2440上的移植详解 (五)
- u-boot-2010.03在LT2440上的移植详解 (六)
- u-boot-2010.03在LT2440上的移植详解 (七)
- u-boot-2010.03在LT2440上的移植详解 (八)
- u-boot-2010.03在LT2440上的移植详解 (十)
- u-boot-2010.03在tq6410上的移植详解(一)
- u-boot-2010.03在tq6410上的移植详解(五)
- u-boot-2010.03在tq6410上的移植详解(一)
- u-boot-2010.03在tq6410上的移植详解
- u-boot-2009.08在2440上的移植详解
- u-boot-2009.08在2440上的移植详解1
- u-boot-2009.08在2440上的移植详解 2
- u-boot-2009.08在2440上的移植详解3
- 学习困惑
- u-boot-2010.03在LT2440上的移植详解 (七)
- 浪费
- u-boot-2010.03在LT2440上的移植详解 (八)
- different of linux kmalloc malloc vmmalloc
- u-boot-2010.03在LT2440上的移植详解 (九)
- 触发器
- URL中文传参报错
- 使用Date获取当前系统时间
- Red Hat Linux 9中文本模式与图形模式的切换
- RPG游戏(C++)代码
- Linux下软件包的解压方式大全
- 线程池
- 安装RPM包快速应急手册