pheigenbaum 发表于 2019-1-23 08:54:28

【分享与求助】iMX6UL创建SD启动卡失败的修复方案以及nand启动失败的求助

我购买的是OKMX6UL-C-v1.1底板。开发板上默认从nand flash启动,我想试试使用SD卡启动,于是按照手册流程
“用户资料\Linux\工具\SD\启动\256Mnand\createSdcard-sdrun.tar.bz2”,用一个16G的SD卡作试验。
把SD卡插入到我的ubuntu16.04(实体机,非虚拟机)后,执行createSdcard-sdrun.sh。
我没看中间过程,直接就把SD卡插入到底板上,拨码到1,4 ON使能SD卡启动,上电后启动失败。

后来按照createSdcard-sdrun.sh脚本一步一步在终端上操作,发现在分区的时候出错,即下面的语句:
sfdisk --force -uM $DRIVE << EOF
10,500,0x0C
520,,0x83
EOF
提示的出错是不支持M作单位,我在Ubuntu16.04上查看man sfdisk,发现它只支持用扇区作单位,而通过fdisk -l
可以知道,我的SD卡的扇区大小是512B,做一番计算之后,把它改为
sfdisk --force -uS $DRIVE << EOF
20480,1024000,0x0C
1064960,,0x83
EOF

之后一路正常,顺利的使用SD卡启动。
但是我拔掉SD卡,把拨码再切换回1,3 ON时以从nand flash启动时,却发现再也启动不了,串口上没有任何数据,
有哪位大神能解释吗?我又怎么恢复成nand flash启动?
我发现在内核编译之后的linux/arch/arm/boot/dts下面有一大堆imx6ul-**-yyy-zzz.dtb文件,有谁能解释它们都是
什么用途吗?文件名表明了什么信息?为什么要这样命名?启动的时候,又怎么在uboot里指定另外的dtb文件?

新手一个,在线等答案

飞凌-chongzi 发表于 2019-1-23 13:38:03

您好
感谢您的分享
您可以按照5.1节SD卡烧写系统或者5.3.节OTG烧写系统重新烧写一下系统再启动
dtb文件夹下的dtb文件中不同文件名对应着不同内存以及核心板型号,如果您使用的是1G nand 七寸800x600则需要替换imx6ul-14x14-evk-gpmi-c-1g-7-800x480.dtb
若您需要对内核进行改动则需要修改对应的dts文件

pheigenbaum 发表于 2019-1-23 17:01:53

文件名里的14x14是什么意思
页: [1]
查看完整版本: 【分享与求助】iMX6UL创建SD启动卡失败的修复方案以及nand启动失败的求助