查看原理图,usb host模式下的管脚配置:html
IMX6Q有4种独立的USB控制器核心:OTG控制核与3个host控制核。tcp
The USB 2.0 Controller Core 0 supports HS/FS/LS operation in Host mode and HS/FS# Step 1 - Create a ram disk # This driver no longer formats the RAM disk by default, so the nodinit is no longer supported. devb-ram ram capacity=1024000,cache=512k disk name=hd@10 waitfor /dev/hd10 fdisk /dev/hd10 add -t 12 mount -e /dev/hd10 waitfor /dev/hd10t12 mkdosfs -F 32 /dev/hd10t12 # Step 2 - Start device stack io-usb-otg -d dcd-usbumass-mx6sabrelite-ci ioport=0x02184000,irq=75 -n /dev/io-usb-dcd/io-usb waitfor /dev/io-usb-dcd/io-usb 4 #waitfor /dev/io-usb-dcd/devu-usbumass-omap543x-dwcotg3.so 4 # Step 3 - Start Mass Storage function driver and enable USB soft connect devu-umass_client-block -l lun=0,devno=1,iface=0,fname=/dev/hd10 ulink_ctrl -l 1
备注:ui
step1:主要是用来产生一个ram disk,命令参数能够参看QNX_Neutrino_RTOS_Utilities_Reference.pdf中的devb-ram说明。spa
step2:上面提到,若是要想使用usb功能就必需要用到io-usb-otg服务(负责管理USB的准备工做),该服务主要用来start device stack。-d后面是usbmass的DLL,也须要写在build脚本用来DLL库中。ioport就是OTG controller core的base addr,irq是该OTG控制核的中断号。-n 指定这个管理器的名称,默认是/dev/usb/io-usb-otg
b.开发板USB做为串口来用:调试
# Step 1 - Start USB device stack io-usb-otg -d dcd-usbser-mx6sabrelite-ci ioport=0x02184000,irq=75 -n /dev/io-usb-dcd/io-usb waitfor /dev/io-usb-dcd/io-usb 4 waitfor /dev/io-usb-dcd/devu-usbser-mx6sabrelite-ci.so 4 # Step 2 - Start USB CDC-ACM function driver and enable USB soft connect devc-serusb_dcd -e -v -F -s -d iface_list=0,path=/dev/io-usb-dcd/io-usb waitfor /dev/serusb1 ulink_ctrl -l 1
# Step 1 - Start USB device stack io-usb-otg -d dcd-usbncm-mx6sabrelite-ci ioport=0x02184000,irq=75 -n /dev/io-usb-dcd/io-usb waitfor /dev/io-usb-dcd/io-usb 4 waitfor /dev/io-usb-dcd/devu-usbncm-mx6sabrelite-ci.so 4 # Step 2 - Start USB NCM function driver and enable USB soft connect io-pkt-v6-hc -d usbdnet name=usbeth,mac=000304030405,path=/dev/io-usb-dcd/io-usb,protocol=ncm -p tcpip -d **(其余的DLL) #control a usb DCD link para: -l :Set the USB link state to disconnected (0) or connected (1). ulink_ctrl -l 1 ifconfig usbeth0 192.168.15.100
# the USBPHY1 base address is 0x20C9000 the USBPHY2 base address is 0x20CA000 # controller base address(irq): OTG--0x02184100 (75), host1--0x02184300(72), host2--0x02184500(73), host3--0x02184700 (74) # host1 mode ioport is the address of host1 and its irq is 72. #step1 启动所依赖的ehci服务,并将由host1管理器管理 io-usb-otg -d hcd-ehci-mx28 ioport=0x02184300,irq=72,verbose=5 waitfor /dev/usb/io-usb-otg 4 #step2 : Driver for USB Mass Storage interface, para pnp means plug in-plug out display_msg Launching devb-umass... devb-umass cam pnp &