DM8168烧录教程:SD卡到NAND转换与U-Boot、Kernel操作详解

4星 · 超过85%的资源 需积分: 10 25 下载量 79 浏览量 更新于2024-09-18 收藏 469KB DOC 举报
本文档分享了在TI DM8168开发板上通过SD卡烧写U-Boot、Kernel和文件系统到NAND闪存的过程心得。作者卢浩在Ubuntu 10.04 LTS环境中使用TIDM8186开发工具,并基于Linux 2.6.37内核版本进行操作。 首先,遇到的一个问题是关于MMC初始化命令的误解,原以为使用`mmcinit`,但实际上是需要使用`Mmcrescan0`。文档中的图片显示了正确操作后的MMC设备扫描结果。为了正确烧写U-Boot,需要先将SD卡设置为启动源,进入U-Boot模式后执行`mmcrescan0`,然后检查设备状态。 接下来,通过一系列命令进行操作: 1. 初始化内存:`mw.b0x810000000xFF0x260000`,将内存区域全部置为1,用于后续操作。 2. 从SD卡加载U-Boot:`fatloadmmc081000000u-boot.noxip.bin`,将U-Boot镜像烧写到指定地址。 3. 对NAND闪存对应区域擦除:`nanderase0x00x260000`,确保写入新内容前的区域已清除。 4. 使用ECC(错误校验)选项执行NAND写入:`nandwrite.i0x810000000x00x260000`,将内存数据写入NAND。 烧写U-Boot完成后,继续烧写Kernel。步骤类似: 1. 初始化内存:`mw.b0x810000000xFF0x440000`,这次覆盖更大范围。 2. 从SD卡加载Kernel:`fatloadmmc081000000uImage`,将Kernel镜像加载到指定地址。 3. 擦除目标区域:`nanderase0x002800000x00440000`,为Kernel写入做准备。 4. 写入Kernel到NAND:`nandwrite0x810000000x002800000`,完成Kernel的烧写。 在整个过程中,需要注意文档中提到的TI文档可能存在误导,以及正确的命令格式和内存地址。这对于嵌入式开发人员来说是一次实际操作经验分享,有助于其他开发者避免常见问题并顺利进行类似的烧写任务。