文档章节

DM8168 心得之从SD卡烧写到NAND

shanezhou
 shanezhou
发布于 2015/05/02 23:36
字数 712
阅读 15
收藏 0

/******************************************************************

* author: 卢浩

* time: 12.03.08

* environment: ubuntu10.04LTS +TI DM8186

* kernel version: linux-2.6.37

******************************************************************/

这个还是比较纠结的...

当时看ti的文档,如图

但是我输入mmc init 却没反应...后来再看文档才发现TI坑人啊...mmc init 应该更换为Mmc rescan 0

而下面的fatloadmmc 1 0x81000000 uImage 应该把其中的1改成0

fatload mmc 0 0x81000000 uImage

好了,现在可以在uboot阶段初始化mmc了...我们可以开始烧写了

首先,拨码开关调至从sd卡启动,按空格进入uboot状态输入mmc rescan 0。然后会显示如图  

然后再输入

mw.b 0x81000000 0xFF 0x260000  //初始化使用的内存,全部置1

输入

fatload mmc 0 81000000 u-boot.noxip.bin[从SD卡中下载u-boot.noxip.bin到内存81000000处

输入

nand erase 0x0 0x260000 对将要使用的区域进行擦除操作

输入

nandecc hw 2

请看图,下图是TI对于ecc的一段说明

接下来输入

nand write.i 0x81000000 0x0 0x260000 [把内存81000000处的内容写到nand里面,从0x0开始,到0x260000结束]

接下来输入

nandecc hw 0

OK,至此,uboot烧写完毕

接下来烧写kernel

输入

mw.b 0x81000000 0xFF 0x440000 [初始化使用的内存,全部置1]

输入

Fatload mmc 0 81000000 uImage [从SD卡下载uImage到内存]

输入

nand erase 0x00280000 0x00440000 [对要使用的区域进行擦除操作]

输入

nand write 0x81000000 0x00280000 0x00251000 [从内存把uImage写入nand里面]

接下来烧写filesystem

输入

mw.b 0x81000000 0xFF 0x0C820000 [初始化使用的内存,全部置1]

输入

Fatload mmc 0 81000000 rd-jffs2.bin [从SD卡下载rd-jffs2.bin到内存]

输入

nand erase clean 0x006C0000 0x0C820000 [对要使用的区域进行擦除操作]

输入

nand write 0x81000000 0x006C0000 0x000e0700 [从内存把rd-jffs2.bin写入nand里面]

这里有个需要注意的就是我们的镜像文件的size

TI的文档有这么一段描述  

这个nand是2K对齐的。

我一开始没注意到,直接用的镜像的size,然后错误,如图  

尝试写入非对齐页失败

后来我改了下,稍微比0xe06128大一点用的是0xe07000。于是成功了。

设置拨码开关从nand启动

按空格进入uboot状态,设置env变量。如图  

Setenv bootcmd 'nandecc sw;nand read81000000 280000 440000;bootm 81000000'

Setenv bootargs 'console=ttyO2,115200n8root=/dev/mtdblock 7 rw rootfstype=jffs2 mem=100M earlyprintk'

如果root=/dev/mtdblock7启动不了的话尝试换成root=/dev/mtdblock3

然后记得saveenv

重启开发板,可以从nand启动linux系统了。

这里有个插曲

TI的uboot默认是nandecc是硬件校验,结果启动kernel的时候出错,显示crc校验失败

如图  

后来我在bootcmd 里面加入了一句 nandecc sw ,变成从软件校验,结果通过了。  

输入root登录即可

本文转载自:http://61ic.com/Article/DaVinci/TMS320DM81x/201203/41318.html

shanezhou
粉丝 3
博文 16
码字总数 8933
作品 0
深圳
后端工程师
私信 提问
NanoPC-T3 嵌入式开发板上手体验

系统资源 处理器 nor flash [“固体硬盘” 容量小,速度快,价格高] nand flash 【硬盘 容量大,掉电数据不会丢失】 RAM LCD 基础资源 (接口资源) 启动方式 nand flash 启动 SD卡启动 系统...

CSDNhuaong
2017/10/25
0
0
S3C6410 SD卡启动uboot分析(详细)

6410的手册上说,可以从nandflash、onenand、SD卡启动,没有专用的烧录工具的情况下,只有SD卡启动是可以考虑 的。手册上看到,SD卡启动,实际上是先执行片内IROM中的一段程序,该程序从SD卡...

慎思
2012/08/29
0
0
uboot支持S3C6410的SD启动

这里使用的uboot并非uboot官方发布的uboot代码,而是为三星定制的一个uboot版本s3c-u-boot-1.1.6,其代码作者就包括了三星的程序员与denx的员工。这个版本支持SD启动,不过默认是nand启动,使...

慎思
2012/08/13
0
0
嵌入式开发板系统安装

系统安装在哪里? 在我们桌面的操作系统,无论是WINDOWS还是 Ubuntu系统一般都安装在电脑的硬盘中,那么,嵌入式Linux系统类似,也安装在它的“硬盘”中, NandFlash。 怎么安装? 首先明白嵌...

CSDNhuaong
2017/10/28
0
0
pcDuino入门指南——第四章 Bootable microSD with Ubuntu OS

首先,从here (ubuntu_mmc.img) 下载SD-bootable image文件(注意:官方会不断更新新版image,下载前最好在pcDuino网站上检查确认下载地址)。 接着将下载的image文件烧入 micro-SD,这里将介...

pc朵拉
2013/07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
15
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
10
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
14
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
14
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部