uboot解压缩
$ tar -vxjf uboot-imx-2016.03-2.1.0-g8b546e4.tar.bz2
windows下直接复制文件导致的Premission denied 问题,直接给予文件夹最高权限
$ chmod -R 777 <floder name>
编译(512MB DDR3 + 8GB EMMC)
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
$ make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j12
在ubuntu子系统下烧写sd卡遇到问题:/dev下找不到sd卡,可能ubuntu子系统是借助windows挂载的硬盘。
执行imxdownload发现正常生成load.imx,于是查看imxdownload源码,发现原因是找不到sd卡的话dd命令无法顺利使用。遂发现居然有dd for windows这种神奇的东西。网址如下。
wchrysocome.net - dd for windows
于是欣然修改源码并编译,制作imxdownload4wsl,放弃烧写的部分,只制作load.imx文件,修改部分如下图
将imxdownload4wsl拷贝至ubuntu子系统工作目录,执行
$ chmod 777 imxdownload4wsl
$ chmod 777 dd.exe
$ ./imxdownload4wsl uboot.bin
这样就生成了load.imx文件
再查看sd卡的挂载情况:
$ ./dd.exe --list
得到
于是输入命令
$ ./dd.exe if=load.imx of=\\\\?\\Device\\HarddiskVolume14 bs=512 seek=2
得到报错,但经过查看文件已烧录成功。
随后插入sd卡至6ull开发板,查看SecureCRT发现可以正常使用。
但是每次都需要查询windows硬盘挂载的位置,就不太方便。如果能直接确定硬盘会挂载到某个盘符,如我的电脑中下一个盘符是D:,则可以直接输入
$ ./dd.exe if=load.imx of=\\\\.\\d: bs=512 seek=2
于是修改imxdownload源文件
重新编译得到新的imxdownload4wsl文件,拷贝至linux工作目录。今后的烧录流程:先确保dd.exe 和 imxdownload4wsl 正常获得了权限,并且uboot.bin已经编译得到。确保sd卡插入并且挂载至了D盘(这里非常重要,d盘会直接格式化,一旦挂载的是有用的u盘什么的就麻烦了)。然后运行
$ ./imxdownload4wsl uboot.bin
就可以完成烧录。