加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1、SD 卡烧写系统
    • 2、单步更新内核 1 eMMC 单步更新内核
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

干货丨OKMX6ULL-S开发板基础操作-系统烧写指南

2021/01/08
467
阅读需 12 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

本文以飞凌嵌入式 OKMX6ULL-S 开发板为基础讲解,本文分为三个部分,主要讲解了 iMX6ULL SD 卡烧写系统及 OTG 烧写系统的以及单步更新内核的步骤。通过本文您可以快速实现飞凌 iMX6ULL 开发板系统烧写。

1、SD 卡烧写系统

以 nand- sdburn 为例,烧写 NAND 进行操作说明,飞凌 iMX6ULL 拨码开关设置参考如下。G 设置拨码开关:

烧写 / 启动 序号 1 序号 2 序号 3 序号 4 序号 5 序号 6 序号 7
SD 卡烧写 0 0 1 0 1 0 0
SD 卡烧写 0 0 1 0 0 0 0
SD 卡烧写 0 0 0 1 1 0 0
SD 卡烧写 1 1 X X X X X

注意:上表中“1”代表 ON,“0”代表 OFF,“X”代表无关。

1、制作 SD 卡

将文件 nand-burnsd 拷贝到 Ubuntu 系统的任一目录,假设为 /home/neo/work。

用户资料 Linux 烧录工具 nand-sdburn.zip 为 256M NAND 文件系统。

用户资料 Linux 烧录工具 emmc-sdburn.zip 为 4G EMMC 文件系统。

步骤 1:nand-burnsd.zip 解压后拷贝到 /home/neo/work。

步骤 2:使用 USB 读卡器把 SD 卡插入到电脑的 USB 端口(VMware 虚拟机用户如果 U 盘没有被虚拟

步骤 3:待虚拟机识别到 SD 卡后弹出目录再进行下边烧写操作。进入 /home/neo/work/nand-burnsd 目录,执行脚本:


 

neo@ubuntu:~/work/nand-burnsd$ sudo ./6ullsdburn.sh

执行上述命令后,终端会列出电脑的硬盘或 U 盘,对应选择自己的 SD 卡,回车。

注意:判定自己的 U 盘是 sda/sdb/sdc 可以根据容量进行判断,比如自己的优盘容量为 4G,则其 size 为 3872256 KB≈ 4G,建议用户执行此操作时不要同时插入多个优盘,以免混淆。

这里以我们的操作为例:

选择 1 ,回车

选择 y,回车,等待至制卡完成。

若打印信息中没有下图红框中标识的信息,则 SD 卡挂载失败,则需要使用 Ubuntu 重新卸载并挂载。

卡制作完成后可以看到 boot 分区包含 sdrun 和 target 两个目录。sdrun 文件夹内容用于引导系统烧写,无需修改;target 目录内容会烧写到 flash 芯片。如果需要替换镜像文件,只需将 target 目录中的对应文件替换掉,并保持同样的命名,之后再重新进行系统烧写。

2、SD 卡烧写系统

将上一节中制作好的 SD 卡插入,同时将拨码开关置于下图所示。3、5、8 均为 ON,1、2、4、6、7 均为 OFF,如下图。此时将 SD 卡中 target 的内容烧写到 NAND 中。


 

lib/modules/4.1.15-00026-g407ada6-dirty/modules.softdep

lib/modules/4.1.15-00026-g407ada6-dirty/source

lib/modules/4.1.15-00026-g407ada6-dirty/modules.dep.bin

lib/modules/4.1.15-00026-g407ada6-dirty/modules.symbols

Update Complete!!!!!!!

同时 iMX6ULL 底板上的 LED 闪烁。烧写时间较长,等待系统烧写完成之后,串口打印信息:

烧写完成之后,断电,将拨码开关拨到 4、5、8 均为 ON,1、2、3、6、7 均为 OFF,重新上电 iMX6ULL 开发板,NAND 启动。

3、OTG 烧写系统

注意:使用 OTG 烧写时,iMX6ULL 开发板不能插入 SD 卡。

mx6ull-4gemmc-512mddr-qt5.6.vbs    

    

烧写 4GeMMC+512MDDR 的系统

mx6ull-256mnand-256mddr-cmd.vbs       

烧写 256MNAND+256MDDR 系统

① 首先将烧写工具 Mfg 工具拷贝到 windows 下解压,烧写工具路径如下所示:用户资料 Linux 烧录工具 mfgtools.zip

② 5V 电源供电如图,开关拨到供电口端:

③ 拨码开关设置为 1、2 为 ON,其他状态任意。如图:

④ 双击“ mx6ull-256mnand-256mddr-cmd.vbs ”(已写好脚本,直接烧写),如下图:

⑤ 插入 USB OTG,如下图:

自动识别为 HID,如图:

⑥ 点击 start,开始烧写系统,中间弹出格式化对话框,点击“取消”格式化选项,或者不管它,直到烧写完成。如图:

⑦ 系统烧写完成之后,出现“Done”,之后点击“stop”,停止。再点击“Exit”,关闭烧写烧写工具。断电,将拨码开关拨到 4、5、8 均为 ON,1、2、3、6、7 均为 OFF,重新上电 iMX6ULL 开发板,NAND 启动。

2、单步更新内核 1 eMMC 单步更新内核

系统启动后,将待替换设备树放于 u 盘中,插入到开发板上,在超级终端输入命令:


 

root@fl-imx6ull:~# cp /run/media/sda1/imx6ull-S-gpmi-1024x600c7.dtb  /run/media/mmcblk1p1/imx6ull-S-gpmi-1024x600c7.dtb

root@fl-imx6ull:~# cp /run/media/sda1/zImage  /run/media/mmcblk1p1/zImage

root@fl-imx6ull:~# sync

root@fl-imx6ull:~# reboot

重启后,到 uboot 阶段选择对应 dtb 即可。

2、 Nand 单步更新内核

更新 dtb 以及内核,logo,可以使用 nandwrite 命令,该命令也已经打包在文件系统中。使用时,要将待烧写的 dtb、logo、 zImage 文件复制到文件系统的某个目录下(本文示例为 /root),然后擦除掉对应分区中的旧固件,再分别使用 nandwrite 命令将新的固件写到对应的分区中。参考命令如下所示:


 

root@fl-imx6ull:~# flash_erase /dev/mtd4 0 0

Erasing 128 Kibyte @ 7e0000 -- 100 % complete

root@fl-imx6ull:~# nandwrite -p /dev/mtd4 /run/media/sda1/target/zImage

Writing data to block 0 at offset 0x0

Writing data to block 1 at offset 0x20000

Writing data to block 2 at offset 0x40000

更新内核:


 

root@fl-imx6ull:~# flash_erase /dev/mtd4 0 0

Erasing 128 Kibyte @ 7e0000 -- 100 % complete

root@fl-imx6ull:~# nandwrite -p /dev/mtd4 /run/media/sda1/target/zImage

Writing data to block 0 at offset 0x0

Writing data to block 1 at offset 0x20000

Writing data to block 2 at offset 0x40000

更新 dtb:


 

root@fl-imx6ull:~# flash_erase /dev/mtd3 0 0

Erasing 128 Kibyte @ 2e0000 -- 100 % complete

root@fl-imx6ull:~# nandwrite -p /dev/mtd3 /run/media/sda1/target/imx6ull-S-gpmi-800x480c7.dtb

Writing data to block 0 at offset 0x0

更新 logo: 


 

root@fl-imx6ull:~# flash_erase /dev/mtd1 0 0

Erasing 128 Kibyte @ 1e0000 -- 100 % complete

root@fl-imx6ull:~# nandwrite -p /dev/mtd1 /run/media/sda1/target/logo.bmp

Writing data to block 0 at offset 0x0

Writing data to block 1 at offset 0x20000

Writing data to block 2 at offset 0x40000

相关推荐

电子产业图谱

秉承专业态度,专注智能设备核心平台研发与制造,以技术研发创新为主导,以客户实用化,产品化为目标,把握嵌入式行业的前沿发展需求,利用核心技术为客户提供稳定、可靠、功能优异的高品质产品。合作联系:17713286011