1闪迪 行货 没有C6 的速度
2,TF 卡 超过 2G 格式化只有一个相关FAT选项:FAT 32 没有 FAT/16 的鈳能,FAT是手机唯一能支持的格式
你对这个回答的评价是
1闪迪 行货 没有C6 的速度
2,TF 卡 超过 2G 格式化只有一个相关FAT选项:FAT 32 没有 FAT/16 的鈳能,FAT是手机唯一能支持的格式
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有別人想知道的答案
1闪迪 行货 没有C6 的速度
2,TF 卡 超过 2G 格式化只有一个相关FAT选项:FAT 32 没有 FAT/16 的鈳能,FAT是手机唯一能支持的格式
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有別人想知道的答案
首先,我们应该清楚TF/SD卡可以看作一张完全空白的“白纸”之所以有分区、分区格式的区别不过是在在这张“白纸”的某些特定位置写入了一些数据来指示分区、分区格式。
其次我们还应该清楚,在TF/SD启动模式下开发板一上电,内部iROM会从TF/SD的第1个Block(第512个字节开始)读取8KB的数据到内部iRAM然后从内部iRAM的0地址开始运行。
原理搞清楚了那么首先需要把TF/SD低级格式囮-所有Block全部写0x00。
使用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等等其它符号,必须根据你实际出现的设備名称进行以下操作否则有可能损坏系统分区,非常重要切记!!!
我们使用linux自带命令hexdump查看tf/sd卡中的数据:
执行结果(部分)如下:
*代表内容为0x00,为了节省空间故作省略
由于4412的uboot大小基本在几百kB的量级,所以清空前1MB空间足够用注意这里的清空不是格式化,而是填充0x00
我们利用系统/dev下的zero设备,清零tf/sd卡前1MB
再次hexdump查看tf/sd卡数据,发现:
if代表输入文件地址以你u-boot-iTOP-4412.bin 这个文件的实际地址为准,of代表输出地址鉯你tf/sd卡的实际设备号为准。
到这里就可以将tf/sd卡插入开发板上电启动了,为了证明我们烧写无误我们执行后续操作。
我们需要确定從tf/sd卡的第一个block开始处确实正确烧写了u-boot-iTOP-4412.bin这个文件,下面我们对比一下用到的命令同样还是hexdump。
在这里我们为了显示方便,只打印前5KB数據发现bin文件被正确的复制到了sd卡的512字节处: