i.MX6q+QNX(学习笔记一)

QNX支持的板卡还是挺多的,可以在http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/BSPAndDrivers

板载驱动下载地址:

http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/FreescaleImx6QSabreSmart?showDetails=true

编译看帮助文档即可。会在image下生成 ifs-mx6q-sabresmart.raw 。

运行images下的mkflashimage生成ipl-mx6q-sabresmart.bin。


如果能够SD卡升级,只需要将板子设置成SD卡升级,制作SD升级包即可。可惜我的目标机器没有SD卡卡槽,因此只能使用USB OTG连接,需要使用到mfgtool工具。

MFGTool2的工具详细介绍,可以看一下这篇文章:https://blog.csdn.net/pugu12/article/details/43270469

参考:https://blog.csdn.net/sgbsgb/article/details/77841711

1、在使用MFGTool前,文件cfg.ini  UICfg.ini是必须要在同一个文件夹下,同时这两个文件一定要配置正确。
         UICfg.ini用来配置每次同时可以烧写开发板的个数:
             [UICfg]
             PortMgrDlg=1
       cfg.ini用来配置芯片类型和板子信息以及烧写内容存储方式:
[profiles]
chip = MX6DL Linux Update   -----------芯片为i.mx6dl
 
[platform]
board = SabreSD                       ------------板子型号
 
[LIST]
name = i.MX6DL-ubuntu-SabreSD-SD ---------------烧写内容及存储方式
cfg.ini一定要根据你的板子和要烧写到哪里来设置,设置的信息和你使用的板子要匹配。
2ucl2.xml
MFGTool烧写过程是完全按照ucl2.xml进行的。具体ucl2.xml的内容你可以到
MFGTool-Dir/Profiles/MX6DL Linux Update/OS Firmware下查看。ucl2.xml中的烧写命令为linux命令(文档Manufacturing Tool V2 Quick Start Guide中有介绍)这里不再详述。
3
boot mode方式要正确
在烧写前要设置板子为下载模式,才可以进行烧写。
总结一下使用MFGTool烧写过程如下:
1)配置
cfg.iniUICfg.ini文件
2)设置boot modedownload模式
3)用OTG-USB线连接开发板和PC
4)打开终端,并运行MfgTool2.exe
5)给开发板上电,出现如下HID-compliant device,点击Start开始下载。

升级时主要依据ucl2.xml的配置进行升级,把相关配置黏贴一下

-<LIST name="QNX-IPL-EMMC" desc="Choose eMMC QNX as media">

<CMD file="u-boot-mx6q-sabresd.bin" body="BootStrap" type="boot" state="BootStrap">Loading U-boot</CMD>

<CMD file="uImage" type="load" state="BootStrap" HasFlashHeader="FALSE" setSection="OTH" loadSection="OTH" address="0x10800000">Loading Kernel.</CMD>

<CMD file="initramfs.cpio.gz.uboot" type="load" state="BootStrap" HasFlashHeader="FALSE" setSection="OTH" loadSection="OTH" address="0x10C00000">Loading Initramfs.</CMD>

<CMD type="jump" state="BootStrap"> Jumping to OS image. </CMD>
	<!-- create partition -->
	<CMD state="Updater" type="push" body="$ sleep 1 "> sleep 1...</CMD>
	<CMD body="$ ls /dev/mmc*" type="push" state="Updater">Debug</CMD>
<CMD body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16" type="push" state="Updater">clean up u-boot parameter</CMD>

<CMD body="$ echo 1 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config" type="push" state="Updater">access boot partition 1</CMD>

<CMD file="ipl-mx6q-sabresmart.bin" body="send" type="push" state="Updater">Sending U-Boot</CMD>

<CMD body="$ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2" type="push" state="Updater">write ipl to emmc</CMD>

<CMD body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config" type="push" state="Updater">access user partition and enable boot partion 1 to boot</CMD>
	<!-- create fat partition -->
	<CMD state="Updater" type="push" body="$ while [ ! -e /dev/mmcblk0p1 ]; do sleep 1; echo \"waiting...\"; done ">wait</CMD>
	<CMD state="Updater" type="push" body="$ mkfs.vfat /dev/mmcblk0p1">Formatting rootfs partition</CMD>
	<CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk0p1"/>
	<CMD state="Updater" type="push" body="$ mount -t vfat /dev/mmcblk0p1 /mnt/mmcblk0p1"/>
	
	<!-- burn ifs -->
	<CMD state="Updater" type="push" body="send" file="qnx-ifs">Sending IFS</CMD>
	<CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk0p1/qnx-ifs">write QNX-IFS to sd card</CMD>
	<CMD state="Updater" type="push" body="$ umount /mnt/mmcblk0p1">Unmounting vfat partition</CMD>
<CMD body="$ sync" type="push" state="Updater">Sync file system</CMD>

<CMD body="frf" type="push" state="Updater">flush the memory.</CMD>

<CMD body="$ echo Update Complete!" type="push" state="Updater">Done</CMD>

</LIST>

注:脚本中的镜像文件"QNX-IFS",就是上面编译生成的ifs-mx6q-sabresmart.raw,只是把文件名称改了而已。

烧写用的临时uboot及镜像文件,可以自己编译,也可以下载MFGTOOL2时用它自带,但据说新版不好用。下载地址:

https://www.nxp.com/support/developer-resources/hardware-development-tools/sabre-development-system/sabre-board-for-smart-devices-based-on-the-i.mx-6quad-applications-processors:RD-IMX6Q-SABRE?tab=Design_Tools_Tab


猜你喜欢

转载自blog.csdn.net/cpq37/article/details/80405264