启动和烧录

i.MX6ULL 在上电以后,芯片ROM 里面固化的程序会根据 BOOT_MODE[1:0] 寄存器的值来选择启动方式。下表的值与启动拨码开关相对应。
1.1.jpg

芯片ROM 里面固化的程序会初始化部分硬件,然后从程序存储介质中读取镜像到SRAM内存中,在执行过程中如果出现错误,则会自动切换到USB 串行下载模式。uboot 相当于是一个二级 boot。

i.MX6ULL镜像组成

uboot.imx = IVT+Boot Data+DCD+用户程序: 

  1. Image vector table 简称IVT;

  2. Boot data 启动数据;

  3. Device configuration data 简称DCD,主要是芯片的配置信息;

  4. 用户代码生成的执行文件,比如 uboot.bin;
    1.2.jpg

针对不同的存储介质,IVT 的偏移是不同的,例如 EMMC,从上表可以看出他的偏移是1Kbyte;
1.3.jpg
1.4.jpg
1.5.jpg

以上配置与 imximage.cfg 配置有关

i.MX6ULL镜像烧录

OTG烧写

mfgtools配置

设备连接

使用USB 连接电脑到板子上的 OTG口(虚拟成USB从机),然后把 BOOT 拨码开关拨到 SUB 串行启动 模式上。
1.6.jpg

文件准备

然后把需要烧录的 uboot、kernel、dtb和rootfs拷贝到 **xxx\mfgtools_for_6ULL\Profiles\Linux\OS Firmware\files\linux 目录,文件命名必须按照如下文件进行重命名,否则打开软件会报错。
1.7.jpg

开始烧录

启动烧录软件后,点击 start,开始进行下载,烧录完成后,点击 stop,然后 Exit 出软件,再把板子上的 BOOT 拨码开关拨到 EMMC启动 模式,连接 USB-UART口,登录命令行即可。
1.8.jpg

问题记录

  1. 烧录无法进入第二阶段,始终显示没有设备连接
    1.9.jpg

不要替换 firmware 的文件,只替换 files下的文件

其实说白了firmware文件夹下的 设备树,zImage,uboot这三个文件不需要是你自己的,只要能在你的开发板DRAM里跑起来一个系统就行,接下来才是把你放在files文件夹里的uboot,zImage,设备树,rootfs烧写到Emmc或者Nand flash里去的过程,这个过程是firmware 里面的三个文件组成的系统完成的,烧完了一关机他们就不在了。

SD卡烧写

tftp卡烧写

文章作者: 路西法
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 以梦为马
imx6ull imx6ull Linux
喜欢就支持一下吧