请先看这里
imx.6ull芯片的fuses,一经烧写不可擦除。在使用本文方法烧写前请先联系 我们 确认是否需要执行此操作,避免造成不必要的麻烦。
一、关于Boot From Fuses
根据使用的外部存储介质,烧写 imx.6ull 芯片内部特定 fuses,实现芯片在检测到 BOOT_MODE[1:0] 值为 00b 时快速从 fuses 所指定的存储介质中引导启动程序,通过此方法来精简芯片外部启动方式配置电路的设计。
二、制作具有烧写fuses功能的SD卡
根据本公司出品的 IDO-SOM6Y08 核心板的配置,制作了具有烧录 fuses 功能的 uboot 文件,将 uboot 文件烧录至 SD 卡从,让设备从此 SD 卡启动,即可自动完成对核心板的烧录。
SD卡制作准备工作
- 一张功能正常的SD卡
- Ubuntu1804虚拟机(本文在Oracle VM VirtualBox 安装的Ubuntu1804虚拟机下演示制卡方法)
SD卡的制作步骤:
下载制卡文件
文件下载地址(百度网盘)
链接:https://pan.baidu.com/s/1aYWtRmv2iDQ4v5b7UHN4WQ
提取码:nqaw
6Y08_make_burn_fuse_sd 文件如下图所示:
将下载的 6Y08_make_burn_fuse_sd 目录整体拷贝至 Ubuntu 虚拟机中备用。将SD卡挂载至Ubuntu虚拟机及获取设备节点
下列图片演示笔者 SD 卡挂载及设备节点获取方法,读者还需依据自身设备及虚拟机差异情况操作。
a)挂载设备只虚拟机
b)使用Ubuntu 1804 自动的Disks 应用查看 SD 卡设备节点在 6Y08_make_burn_fuse_sd 目录内,执行以下命令制作烧录 SD 卡
注:此处 SD 卡设备节点为 /dev/sdb,此节点需要根据读者自身情况修改$ sudo ./make_burn_fuse_sd.sh /dev/sdb
在脚本提示信息中,根据所使用的IDO-SOM6Y08 核心板配置,选择要烧录的文件,例如此处要烧录DDR 256MB,存储介质为 Nand Flash 的核心板则选择 u-boot-sd-boot-ddr256-nand-write-fuse.imx 文件。
紧接着,在查看提示内容,确认设备及文件无误后,输入 y 开始执行烧录。如需取消操作,则输入 n,或者 20 秒无输入程序自动退出。
程序运行完整后提示内容如下所示:以上步骤执行完毕,即可将 SD 卡从 Ubuntu 虚拟机中弹出, 插入IDO-SOM6Y08 核心板的开发中使用。
如果 SD 卡使用完后,为了避免 SD 卡误烧录不必要烧录的开发板,则执行以下内容清除 SD 卡中的固件。
$ sudo ./cleanup_sd_uboot.sh /dev/sdb
三、设置设备从SD卡启动烧写Fuses
将开发板设置从SD卡启动,可通过调试串口终端查看系统输出信息,核心板已经烧写fuses的提示信息如下所示:
====== Burn the fuses Succeeded!======