usb烧写是通过飞思卡尔的官方工具mfgtool烧写的,这个工具会根据cfg.ini配置和ucl2.xml命令配置来完成烧写操作的。
操作过程是:
1、首先打开可执行mfgtool可执行程序,主要注意的是,该工具在打开的时候会校验 命令配置脚本ucl2.xml中的资源,如果命令脚本中需要用到的资源在mfgtools\Profiles\Linux\OS Firmware\files\linux没有被找到,则会提示打开异常(errNo=4)。
2、烧写的镜像文件主要有ipl和ifs两个文件,假设在cfg.ini文件中配置的启动方式是emmc-linux,那么在xml中找到该启动方式的配置,然后修改对应的文件名称。(需要注意的是BootStrap 状态下配置命令不可以被修改)
3、解释一下BootStrap状态下的cmd为何不可以被修改?
答:烧写开始的时候,该工具会先拷贝一个可以使用的uboot和dtb以及zImage等文件系统,具体会从\mfgtools\Profiles\Linux\OS Firmware\firmware这个路劲下拷贝。等待嵌入式系统启动完成之后,设备才会在该临时系统下对emmc进行分区并拷贝镜像的操作(ipl和ifs)。
4、命令执行过程:
1> 首先对EMMC设备进行分区操作。(针对MfgTool工具而言是把他写入在mksdcard.sh脚本之中),所以我们要更改分区的话主要是对tar压缩脚本修改即可。
2> 需要注意的是:对于我的开发板而言,EMMC设备在QNX下的dev名称一般是:mmcblk3(linux下好些也是叫这个)。
3> 分区完成之后,便是将分区参数清除,命令是:
dd if=/dev/zero of=/dev/mmcblk3 bs=1k seek=384 conv=fsync count=129
4> 打开emmc的写保护权限:通过向设备boot0中写0完成:echo 0 > /sys/block/mmcblk3boot0/force_ro
5> 向emmc中写入ipl引导启动:dd if=$FILE of=/dev/mmcblk3 bs=512 seek=2 skip=2。这句话就表示我们将ipl写入了emmc的boot1分区(emmc的分区是从1开始编号的,分区主要有boot1、boot2、RMPB、UDA)
6> 关闭emmc的写保护权限:通过向设备boot1中写0完成:echo 1 > /sys/block/mmcblk3boot0/force_ro
7> 设置emmc的boot1启动。mmc bootpart enable 1( 分区号) 1(使能标记)/dev/mmcblk3 
以上操作便完成了ipl引导分区的创建。
5、文件系统的执行过程:
1> 格式化设备,ipl完成之后,系统会生成一个device设备,通常情况下叫做mmcblk3p1(partion 1 的意思)
xml中通过一个循环来等待该设备的生成:
"$ while [ ! -e /dev/mmcblk3p1 ]; do sleep 1; echo \"waiting...\"; done "
2> 设备生成之后,将设备格式化为fat32的格式:
mkfs -t vfat /dev/mmcblk3p1  
  并将该设备挂在到/mnt/mmcblk3p1目录下。
3> cp ifs文件系统
cp ifs.bin /mnt/mmcblk3p1/
umount /mnt/mmcblk3p1

以上的5个步骤便是对usb方式下烧写qnx 引导文件和文件系统的大概说明。

关于EMMC分区的详细介绍可以参看博客:

http://blog.csdn.net/mirkerson/article/details/44806673

QNX系统MfgTool烧写工具脚本说明相关推荐

  1. 系统烧写方法(MfgTool烧写工具)

    目录 MfgTool 工具简介 MfgTool 工作原理简介 USB接线 系统烧写原理 烧写NXP 官方系统 烧写自制的系统 系统烧写 网络开机自启动设置 改造我们自己的烧写工具 改造MfgTool ...

  2. NXP mfgtool 烧写工具

    简介 mfgtool 是NXP 烧写系统的工具,可以烧写包括EMMC.NAND.SD卡.SPI falsh 等多种falsh设备. 将要烧写的系统固件放(uboot.kernel.dtb.rootfs ...

  3. i.MX6ULL终结者mfgtool烧写镜像

    开发板出厂前默认已经烧写了镜像,如果用户需要重新烧写镜像,可以参考本章. NXP官方提供了Windows的上位机烧写工具mfgtool,迅为电子在此基础上做了修改,使烧写更加方便,同时也支持烧写lin ...

  4. 将MfgTool工具改造为自己的烧写工具

    以前通过MfgTool工具烧写,都是讲自己的文件名改成和官方要求的烧写文件名.这样虽然能烧写,但是终于不是真正意义上自己的烧写. 那么能不能将MfgTool工具改造为烧写自己的文件名呢?当然是可以的, ...

  5. 交叉编译飞思卡尔imx6烧写工具MFGtools脚本中的sfdisk小软件

    原文链接:(5条消息) 交叉编译飞思卡尔imx6烧写工具MFGtools脚本中的sfdisk小软件_bxf0817的专栏-CSDN博客 MFGtools中的脚本中有如此一段 sfdisk --forc ...

  6. 飞思卡尔烧写工具mfgtools的使用

    注意:当时遇到烧录之后各种重启问题,还有system.img 文件同步不过去的原因,都是因为没有加flash刷新 <CMD state="Updater" type=&quo ...

  7. 官方系统镜像烧写(windows下使用OTG)

    目录 OTG系统烧写 为什么能通过VBS将系统烧写进去呢? OTG系统烧写 选择对应的烧写工具,USB_OTG线连接好,双击即可进行烧写. 注意: 当然也可以烧写到SD卡里面.前面我们烧写裸机代码都是 ...

  8. 【开源共享】全网最简单易用的imx6ull烧写工具设计初衷工作原理设计前的思考

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  9. st 串口烧写工具 芯片_STM32芯片的几种烧写方式简介

    我们做STM32产品开发,最终是要将编写的程序代码写进芯片存储器,通常指Flash存储器[含可以映射到芯片存储空间的片外存储器],让程序正常运行起来以实现相应的功能. 一般来讲,将我们准备好的机器代码 ...

  10. linux/windows上STM32固件烧写工具的开发demo

    1.主要实现功能:完成对HEX和DFU文件的烧写,显示烧写的进度等功能 2.开发工具:Qt creator4.9.0 3.开发系统平台:windows系统和linux系统两套平台 4.具体开发步骤: ...

最新文章

  1. 检测到smtp服务器版本信息,邮件服务器DBMail检测功能
  2. Failure while trying to resolve exception [org.springframework.http.converter.HttpMessageNotWritabl
  3. Fragment 生命周期:
  4. 【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
  5. 苹果为了提升销量真是拼:用你的iPhone做最后一件好事
  6. java input 数组_请问如何input一个数组?
  7. .NET 4.0中的泛型协变和反变
  8. DockerFile的编写构建镜像步骤,常用命令和案例
  9. 5种好看实用的字体分享
  10. 青鸟BCNT-网络信息安全工程师
  11. TCP实现消息传输和文件传输,UDP实现消息发送和聊天,URL下载文件
  12. 【应急响应】域名劫持事件发生后的应急响应策略
  13. MCS-51指令系统
  14. vba 保存word里面的图片_如何将Word表格保存为图片?这3种方法你用过没?
  15. 恒温恒湿试验箱制冷系统及工作原理
  16. 为什么华为手机总有不明照片?赶紧查看一下这3个功能,尽快关闭
  17. Shared MLP的作用是什么?
  18. 秒懂!原码、反码、补码的转化原来这么简单……
  19. DARPA呼吁采用通信技术概念来支持Troop的丛林作战
  20. 大熊课堂python资源_大熊课堂 - 主页

热门文章

  1. 用c语言判断一个数是否为素数
  2. 市场的各大TWS蓝牙耳机芯片方案汇总
  3. 《敏捷个人》周刊 第13期 (可下载)
  4. 香橙派OrangePi Zero开发板的WiFi连接测试
  5. 家用冰箱里面用的抽屉模具图档分析
  6. 检测计算机无线网卡驱动,win10怎么修复无线网卡驱动 无线网卡驱动修复方法
  7. 防范勒索病毒及关闭相关端口
  8. Google推出即时通讯软件Hello
  9. 调用阿里API实现图片验证码识别
  10. 通过减小Bootstrapping Error Reduction来进行离线RL学习