S3C6410 SD启动支持教程:定制uboot配置与解决常见问题
需积分: 5 188 浏览量
更新于2024-08-03
收藏 29KB DOC 举报
本文档主要介绍了如何针对三星S3C6410平台的嵌入式系统实现SD卡启动,使用的不是标准的U-Boot(统一固件加载器),而是由三星和Denx合作定制的s3c-u-boot-1.1.6版本。这个版本原本支持NAND启动,但目标是将其转变为SD启动(也称为movinand启动)。
首先,用户需要在configurations/smdk6410.h配置文件中进行修改。原有的NAND启动选项(如`#define CONFIG_BOOT_NAND`)需要注释掉,同时启用`#define CONFIG_BOOT_MOVINAND`来选择SD启动。这样,U-Boot将能够识别和处理SD卡作为启动设备。
然而,仅仅更改配置还不足以解决问题,因为U-Boot预设了从SD卡CH0(通道0)启动,而实际硬件可能使用的是CH1。因此,必须在include/movi.h文件中调整HSMMC_CHANNEL的值,将其设置为1,以便U-Boot能正确识别SD卡在不同通道上的存在。
接着,即使将修改后的U-Boot.bin文件烧写到SD卡上,直接使用IROM_Fusing_tools进行烧写会导致问题。正确的做法是先将大文件u-boot.bin拆分成两个部分:u-boot_256k.bin和u-boot_8k.bin,分别烧录到SD卡的不同区域。具体步骤如下:
1. 使用`cat u-boot.bin >> temp`命令将u-boot.bin追加到temp文件中。
2. 分割文件:`split -b 256k temp u-boot_256k.bin` 和 `split -b 8k temp u-boot_8k.bin`
3. 将u-boot_256k.bin复制到u-boot_mmc.binfile中:`mv xaa u-boot_256k.bin u-boot_mmc.bin`
4. 将u-boot_8k.bin复制到u-boot_mmc.bin的剩余部分:`mv xaa u-boot_8k.bin >> u-boot_mmc.bin`
通过以上操作,确保了U-Boot能在S3C6410平台正确识别并从SD卡启动,解决了启动时的硬件兼容性和文件布局问题。这对于开发基于S3C6410的嵌入式系统的开发者来说,是一个重要的实践指导,特别是对于那些需要在非标准硬件配置上部署U-Boot的项目。
2013-12-10 上传
2014-06-13 上传
2015-10-17 上传
2020-09-05 上传
2021-05-20 上传
2021-10-08 上传
2007-11-30 上传
2009-08-08 上传
智光实验室
- 粉丝: 926
- 资源: 302
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集