- Windous下使用OTG烧写系统
- 在Windos使用NXP提供的mfgtool项开发板烧写系统。通过开发板OTG接口连接到电脑,选择mfgtool版本,下载。
Mfgtool工具先向开发板烧写一个linux系统,通过linux系统来完成烧写工作。
一般烧写系统都是烧写到EMMC或者NAND里面,烧写zImage和.dtb设备数
- Ubuntu下通过脚本烧写系统
sync:数据同步,当在linux下拷贝文件时,在终端需要先同步,不然文件存放在缓存中,可能拷贝失败。
查看sd卡挂载:ls /dev/sd*,或者sudo fdisk -l
在ubuntu中,先将zImage和.dtb设备树文件下载到SD卡的boot文件夹下,在将根文件系统拷贝到rootfs的home中,然后开发板从SD卡中启动,在SerialCRT中将zImage和.dtb文件下载到emmc中。
- UBOOT编译
- 什么是UBOOT
Uboot是一个逻辑程序,相当于一个bootloader,作用是启动Linux或者其他系统。Uboot主要是初始化DDR,因为Linux运行在DDR里面。一般linux镜像(zImage)和设备树.dtb存放在SD,EMMC,NAND,SPIFLASH等外置存储区域。就需要uboot将Linux镜像从外置FLASH中拷贝到DDR中,在启动Linux系统
Uboot主要目的就是启动启动系统。不仅仅能启动Linux还能启动其他系统,uboot是个通用的bootloder,支持多种架构。
- UBOOT获取
1.官网获取:http://www.denx.de/wiki/U-Boot/
2.SOC厂商会从uboot官网下载某个版本的uboot,然后加入相应的SOC以及驱动,SOC厂商制定的uboot。例如NXP官方的I.MX6Ull_EVK
3.开发板的厂商,开发板的厂商会参考SOC厂商的板子,重SOC厂商的uboot修改自己的功能或驱动,适应自己的版子。
三、正点原子官方UBOOT编译
Tar.bz2解压缩 tar -vxjf
编译:
ARCH:指定目标为arm架构的,CROSS_COMPILE是制定交叉编译器的。
也可以直接写个shell脚本。Shell脚本结尾.sh
Shell脚本第一行必须是 #!/bin/bash
生成u-boot.Bin。必须向u-boot.bin添加头部信息。Uboot编译最后通过./tools/mkimage软件添加头部信息,生成u-boot.Imx
在windos下将files和firmware中的imx版本替换掉。使用mfgtool下载uboot
重新从emmc启动后版本号会变成你编译的时间。