成功移植u-boot1.1.6至2410,实现nor/nand双启动教程
5星 · 超过95%的资源 需积分: 10 163 浏览量
更新于2024-09-15
收藏 173KB PDF 举报
"移植u-boot1.1.6到2410平台,实现nor和nand闪存的双启动,涉及u-boot移植、配置文件修改、启动方式判断"
移植u-boot到S3C2410平台,尤其是实现nor和nand双启动,是一项复杂的工作,需要对嵌入式系统、微处理器架构以及u-boot有深入的理解。S3C2410是一款由Samsung公司推出的基于ARM920T内核的微处理器,常用于嵌入式设备。在这个过程中,移植者通常需要完成以下步骤:
1. **创建自定义配置文件**:
- 在`board/samsung`目录下,创建一个新的目录,如`my2410`,用于存放针对特定板子的配置和源代码。
- 复制`smdk2410`的相关文件,并修改文件名和Makefile中的配置,例如将`smdk2410`更改为`my2410`,并将Makefile中的`COBJS`设置为`my2410.o`。
- 在`include/configs`目录中,复制`smdk2410.h`为`my2410.h`,并根据实际硬件配置进行修改。
2. **更新根目录下的Makefile**:
- 添加新板子的配置选项,使得构建系统能识别并编译新添加的配置。
3. **修改`start.s`**:
- `start.s`是u-boot的启动汇编代码,负责初始化硬件和执行初步的引导任务。
- 对于nor和nand双启动,需要在这里加入代码来检测启动介质。S3C2410处理器在上电时,会自动将nand flash的前4KB数据加载到内部RAM并从那里启动。因此,u-boot需要在nand启动时执行自我复制到RAM的过程。
4. **启动方式的判断**:
- UBoot支持从nor flash直接启动,因为nor flash可以直接执行。而对于nand flash,由于硬件特性,需要在前4KB的固件中包含初始化代码,将u-boot的剩余部分复制到RAM中。
- 可以通过检查启动地址或特定硬件标志来判断是nor还是nand启动。例如,如果CPU从0x00000000启动,可能是nand flash;而nor flash通常使用较高的地址启动。
5. **编译与调试**:
- 使用适当的交叉编译器(如gcc3.4.5)编译u-boot,确保编译选项正确设置以匹配目标平台和配置。
- 然后将编译好的u-boot分别烧录到nor和nand flash中,并通过硬件开关或配置选择不同的启动方式。
- 在实际运行中测试双启动功能,可能需要多次迭代和调试以解决可能出现的问题。
完成以上步骤后,u-boot就能根据硬件状态选择从nor或nand flash启动,增强了系统的灵活性和可靠性。在实际应用中,这种双启动功能对于开发、故障恢复和系统升级都具有重要的价值。
398 浏览量
109 浏览量
175 浏览量
点击了解资源详情
2011-03-21 上传
128 浏览量
2011-11-03 上传
chengtian61
- 粉丝: 1
- 资源: 1
最新资源
- Risk Assessment Guidebook for e-Commerce/e-Government
- GDB调式ARM开发板
- Exchange Server 2007快速部署指南
- 工业电器现行国标大全
- LoadRunner使用手册.pdf
- 模拟系统使用说明.doc
- Hibernate开发指南
- 深入Spring 2:轻量级J2EE开发框架原理与实践 .pdf
- 使用TEFS(TM)平台构建应用系统
- bht8000开发手册
- Oracle数据库维护.pdf
- Oracle的入门心得.pdf
- Apache 2.2 中文手册.pdf
- java swing架构--中英文对照版
- REALBASIC开发指南
- arcgis server详细安装部署文档