小经验:有多个 USB 口的情况下若都设置成 OTG 模式(即可用于 HOST 模式也可用于 Device),那么将会产生冲突,我测试的结果是 USB0能用于 OTG 模式,USB1 则是完全没有反应
1. USB 口的打开(以下操作都是在 SiRFprima_EVB.BAT (c:\wince600\platform\tt4x0bd))中完成
1)USB 总开关 —— SET BSP_ATLAS_ONCHIP_USB=1
2)两个 USB 口的开关 SET BSP_ATLAS_ONCHIP_USB0=1
SET BSP_ATLAS_ONCHIP_USB1=1
注意:要确保最后这两个设置成 1,因为在 TT4X0BD_dep.BAT 中很可能把 BSP_ATLAS_ONCHIP_USB0 设成 0
2. USB 口模式的选择
在 USBOTG.reg (c:\wince600\platform\tt4x0bd\files)中完成对 USB 口模式的选择
其中有字段 "OTGPortMode" 注解有:;OTGPortMode values: 0 - Hardware HNP; 1 - Host only; 2 - Function only; 3 - Software HNP;
当选择 3 时,该 USB 口设置成 OTG 模式,一般两个口一个口设置成 Host 模式,另一个设置成 OTG 模式