主题 : tiny4412 1308开发板裸机开发怎么通过SD卡烧写程序到开发板? 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 108265
精华: 0
发帖: 71
金钱: 360 两
威望: 72 点
贡献值: 0 点
综合积分: 142 分
注册时间: 2014-09-20
最后登录: 2015-05-21
楼主  发表于: 2015-01-21 18:55

 tiny4412 1308开发板裸机开发怎么通过SD卡烧写程序到开发板?

本人新手,不知道怎么通过SD卡将.bin文件烧进开发板中,请各位说下,越详细越好!不甚感激!!     
级别: 新手上路
UID: 112037
精华: 0
发帖: 11
金钱: 55 两
威望: 11 点
贡献值: 0 点
综合积分: 22 分
注册时间: 2015-01-14
最后登录: 2015-08-02
1楼  发表于: 2015-02-05 16:11
直接烧到SD卡,然后从SD卡启动就可以了。烧SD卡可以直接在WIN下用SD-Flasher烧,也可以在Linux用dd命令烧写
级别: 侠客
UID: 108265
精华: 0
发帖: 71
金钱: 360 两
威望: 72 点
贡献值: 0 点
综合积分: 142 分
注册时间: 2014-09-20
最后登录: 2015-05-21
2楼  发表于: 2015-02-05 16:35

 回 1楼(simulator) 的帖子

直接在WIN下用SD-Flasher烧后,要运行还需要什么配置文件吗?就像用SD卡烧写系统时的.ini文件,还需要类似的吗?
级别: 新手上路
UID: 114182
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2015-04-07
最后登录: 2015-05-06
3楼  发表于: 2015-04-24 21:28
1、用TF/SD卡读卡器插入实体机usb,虚拟机Ubuntu里usb设置,然后启动,在ls /dev/sd* 命令查看所有连接到电脑上磁盘。
问题:在这里为什么不用df命令?
原因是假设你的TF/SD卡只有一个分区但这个分区已损坏,或者有多个分区但是没有一个可以识别的分区,那么此时df命令无法查看到tf/sd卡,所以说直接列出dev下所有sd开头的设备,是终极方案。

(1)假设你的tf/sd卡只有一个分区,无论这个分区是否损坏,现象应该是类似这样的:

插上tf/sd卡之前:



插上tf/sd卡之后:

很明显多出的/dev/sdb就是本文后续操作的对象。

(2)假设你的tf/sd卡已有多个分区,无论这些分区是否损坏,现象应该是类似这样的:

插上tf/sd卡之前:



插上tf/sd卡之后:

这里多出5个设备,但是我们仍然将/dev/sdb作为本文后续操作的对象。

注意:我这里是/dev/sdb,但是还有可能是/dev/sdc等等其它符号,必须根据你实际出现的设备名称进行以下操作,否则有可能损坏系统分区,非常重要,切记!!!

2、使用16进制模式打开TF卡查看数据(可跳过)
我们使用linux自带命令hexdump查看tf/sd卡中的数据:
命令为:
sudo hexdump -n 1048576 /dev/sdb
其中-n 1048576代表打印出前1M=1024*1024=1048576字节的数据。

执行结果(部分)如下:



*代表内容为0x00,为了节省空间故作省略。

3、清空TF卡上前1MB的数据
由于4412的uboot大小基本在几百kB的量级,所以清空前1MB空间足够用,注意这里的清空不是格式化,而是填充0x00。

我们利用系统/dev下的zero设备,清零tf/sd卡前1MB。

执行结果如下:


这里的count=2000代表清空2000个block,一个block=512B,2000个正好为1MB。



再次hexdump查看tf/sd卡数据,发现:


前1MB空间成功清0x00。

4、烧写uboot启动文件
在这里,我们待烧写的文件为 u-boot-iTOP-4412.bin 这个文件。

终端执行命令:



if代表输入文件地址,以你u-boot-iTOP-4412.bin 这个文件的实际地址为准,of代表输出地址,以你tf/sd卡的实际设备号为准。

到这里,就可以将tf/sd卡插入开发板上电启动了,为了证明我们烧写无误,我们执行后续操作。

5、确认烧写正确(可跳过)
我们需要确定从tf/sd卡的第一个block开始处,确实正确烧写了u-boot-iTOP-4412.bin这个文件,下面我们对比一下,用到的命令同样还是hexdump。

在这里,我们为了显示方便,只打印前5KB数据,发现bin文件被正确的复制到了sd卡的512字节处:



6、将TF卡接到开发板上,拨码开关选择TF启动,上电: