S3C6410 SD启动支持教程:定制uboot配置与解决常见问题
需积分: 5 161 浏览量
更新于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的项目。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2015-10-17 上传
2020-09-05 上传
2014-06-13 上传
2021-05-20 上传
2007-11-30 上传
智光实验室
- 粉丝: 926
- 资源: 302
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器