- 积分
- 16
贡献92
飞刀25 FD
注册时间2019-1-9
在线时间3 小时
扫一扫,手机访问本帖
|
我购买的是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文件?
新手一个,在线等答案
|
|