迅为恩智浦IMX6Q开发板系统固件TF卡烧写

2021年11月04日 09:47    发布者:落风
配套资料在网盘资料的“iTOP-i.MX6 系列开发板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 开发板资料汇总(不含光盘资料)\09_iTOP-i.MX6 开发板 SD 卡烧写\TF 卡烧写\非设备树 TF 卡烧写”目录下。
本文档介绍 iTOP-iMX6 开发板使用 TF 卡自动烧写 Android,Qt 和 ubuntu 镜像,在批量生产产品需要烧写镜像时需要用到这个功能。

本次测试以 i.MX6D(1+8)核心板烧写 qt 系统为例,其他核心板以及不同系统步骤相同。
由于本次要烧写的为 qt 系统,所以我们将 iTOP-iMX6-L4-TF 卡开机自动烧写镜像文件中的 L4-tf_flash-qt 目录下的 tf_flash 文件夹拷贝到 ubuntu 上,如下图所示:

然后在 ubuntu 系统下插入 tf 卡,使用命令“df -l”可以查看 tf 卡的设备节点以及挂载的目录,如下图所示。在“iTOP-i.MX6 开发板资料汇总(不含光盘资料)\01_iTOP-iMX6 开发板所需 PC 软件(工具)\09_盘符格式化工具”中有格式化工具,先删除所以分区,再创建分区,可以用这个工具 windows 系统下将其格式化为 fat32 格式。

格式化分区完成后将 TF 卡插到 ubuntu,执行“df -l”查看自动挂载的 TF 卡,如下图所示:

作者这里 tf 卡的节点是/dev/sdc1,挂载在“/media/topeet/0D1D-0AD6”目录(也有可能是 sdb,sdd之类的,根据实际情况,目录也都不一样)。然后我们使用 umount 命令取消挂载“umount /dev/sdc1”,如下图所示。

然后使用 cd 命令进入到前面解压生成的 tf_flash 文件夹,如下图所示。

然后使用命令
chmod 777 mksdcard-android.sh
赋予 mksdcard-android.sh 对应的执行权限,如下图所示:

这里需要注意的是每个核心板对应的 uboot 是不一样的,默认的为 i.MX6Q 商业级(2+16),本次测试用到的为 i.MX6D 商业级(1+8),所以这里要替换 uboot,每个核心板的 uboot 存放路径为“iTOP-i.MX6 系列开发板(6Q,6D,6QPLUS)\4_iTOP-i.MX6 开发板资料汇总(不含光盘资料)\09_iTOP-i.MX6 开发板 SD 卡烧写\非设备树 TF 卡烧写\每个核心板替换的 uboot”,如下图所示

通过 ssh 或其他方式拷贝 i.MX6D(1+8)目录下的 u-boot.bin 覆盖之前 ubuntu 虚拟机 tf_flash 目录下的u-boot.bin。
接着使用命令“ls /sbin/mkfs*”,作者机器如下图所示。

如上图所示,假如用户的机器中没有“/sbin/mkfs.fat”文件,则使用命令
ln -s /sbin/mkfs.vfat /sbin/mkfs.fat
有的话,直接跳过这一步。然后在当前目录下运行命令
./mksdcard-android.sh /dev/sdc
(注意 sdc 后面不要跟数字),如下图所示:

运行完成如下图所示:

然后拔下 tf 卡,重新插入到 ubuntu 系统下,输入命令“df -l”,可以看到 tf 卡分区信息,以及挂载的目录,如下图所示。

上图中“/dev/sdc5“是文件系统的分区(有可能用户的盘符会是 sdc5 等等,请记住带有数字 5 的盘符是保存文件系统的),我们看到挂载目录是“/media/topeet/4ed7bc4c-1260-4a3d-ad8d-75c37098b338”,我们使用解压命令
tar -vxf rootfs_sd_flash.tar.gz -C /media/topeet/4ed7bc4c-1260-4a3d-ad8d-75c37098b338/
解压 tf_flash 目录下的“rootfs_sd_flash.tar.gz”文件到“/media/topeet/4ed7bc4c-1260-4a3dad8d-75c37098b338”,解压完成如下图所示:

至此我们的 tf 卡烧写的启动卡就制作完成了。
下面拷贝需要烧写的 android 镜像到 tf 卡。先使用“df -l”命令,查看 tf 卡的分区,以及挂载目录,如下图所示。

“/dev/sdc4”(有可能用户的盘符会是 sdd4 等等,请记住带有数字 4 的盘符是保存镜像的)目录就是保存镜像的分区,挂载的目录是“/media/topeet/E6A0-E69A”,我们把需要烧写的镜像使用 cp 拷贝命令,拷贝到这个文件夹下,作者将镜像存放的路径为/home/qt 目录下(大家随意就好),如下图所示:

然后使用拷贝命令将镜像拷贝到 TF 卡上如下图所示

从上图可见,已经将要烧写的镜像拷贝到了开发板上。
至此我们的 TF 卡制作就完成了。
下面就可以把 tf 卡插到 iTOP-iMX6 开发板上进行烧写了。

开发板从 tf 卡启动,拨码 1 和 7,拨到 ON,其余的拨到 OFF,然后插入 tf 卡,开发板上电,串口会有启动打印,首先会运行 uboot,注意倒计时的时候不要做任何操作,等待倒数读秒自动完成,然后启动内核,挂载文件系统,最后自动进入烧写模式进行烧写,烧写完成串口打印如下图所示。

最后拨码开关拨到 emmc 启动,设置相应的环境变量就完成了 Qt 镜像的烧写。 Android Ubuntu 系统的 TF 卡烧写方式和 Qt TF 卡镜像烧写类似。
迅为IMX6Q开发板:

核心板参数
尺寸:51mm*61mm
四核商业级-2G:        NXP 四核 i.MX6Q,主频 1 GHz
内存:2GB DDR3;存储:16GB EMMC;SATA接口:支持

双核商业级-1G:NXP 双核精简版 i.MX6DL,主频 1GHz
内存:1GB DDR3;存储:8GB EMMC;SATA接口:不支持

四核工业级-1G:NXP 四核 i.MX6Q,主频 800MHz
内存:1GB DDR3;存储:8GB EMMC;SATA接口:支持

四核Plus版本:NXP 四核 i.MX6Q,主频 1 GHz
内存:2GB DDR3;存储:16GB EMMC;SATA接口:支持

EEPROM:4MB的EEPROM用来存储关键数据
电源管理:内部独立
工作电压:5V
系统支持:Android4.4.2/6.0系统 Linux + Qt4.7/5.7系统 Ubuntu12.04/16.04/20系统
商业级运行温度:0℃到+70 ℃
工业级运行温度:-40℃到+85 ℃
引角扩展:引出脚多达320个,满足用户各类扩展需求

扩展参数       
千兆以太网:1路自适应千兆以太网
EIM通用总线: 32位数据线全引出
SDIO:3路
JTAG:1路引出(注:邮票孔底板不支持)
SATA:1路
CAMARA:DVP和MIPI接口全引出
LCD:双路LVDS和24位RGB接口
HDMI:1路V1.4
GPIO:引出
矩阵键盘:引出
PWM:3路
I2C:3路
声卡IIS:1路
CAN:2路
USB:HOST+OTG
UART:5路
pcie:1路
SPI:2路

底板参数
尺寸:125mm*190mm       
运行温度:-40℃到+85 ℃
POWER:电直流电源输入接口,12V/2A电源输入       
SIM卡槽:1个
SWITCH:电源开关       
4G模块:全网通(选配)
LVDS接口:2路       
HDMI接口:标准HDMI v1.4,1080p高清分辨率输出
RGB接口:1路       
OTG:1路
CAN:1 路 CAN 总线接口       
RS485:1个
MIC:支持MIC输入       
DIP SWITCH:1个7位拨码开关
PHONE:支持耳机输出       
JTAG:1个(注:邮票孔底板不支持)
RESET:1个复位按键       
CAMERA接口:1个支持500万摄像头
串口:2路串口       
GPIO接口:20PIN,包括1路SPI和2路I2C
USB HOST:2路       
按键:4 个
网口:1 路千兆工业级以太网,RJ45 接口       
RTC:实时时钟
TF卡:1个       
BUZZER:1个蜂鸣器
SATA:1 个 SATA 接口;SATA电源接口
MIPI接口:DSI和CSI各一个,支持LCD和CAMARA;
(注:邮票孔底板不支持)
WIFI蓝牙:支持       
EIM总线:1路
GPS模块:支持(选配)       
IRDA:1个
电子罗盘:支持(选配)       
三轴加速度计:支持(选配)