您好!
我在设计C6748的程序时,加入了OHCI读写U盘的相关功能,程序在Debug时完全运行正常,但进行了AIS转换下载到Norflash脱机启动后,却无法识别到U盘,经测试,脱机运行在上电时在USB1.1接口上未检测到任何信号,怀疑在启动时USB1.1接口PSC未打开,导致模块未工作,进行了以下尝试:
1.在生成AIS文件的AISGen中,选中Configure PSC,然后在PSC页面中PSC1对应的Enable LPSC框中填入2;
2.在程序的OHCI库初始化前加入PSCModuleControl(SOC_PSC1_REGS, HW_PSC_USB1, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE),之后加入1S左右的延时;
第二种尝试在Debug下完全正常,两种方法在程序烧写到NorFlash并启动后,均会导致程序卡死,从串口打印的信息来看,卡死的地方就在打开USB1.1的PSC之后。
后来查看数据手册,发现USB1.1有个48M的Reference clock,是从USB2.0模块的clock上接过来的,于是采用上面两种方法同时打开USB2.0和USB1.1模块的PSC,现象仍然一样,在执行完USB的PSC开启后会卡死。
你们能不能帮我分析下为什么? 关键是在Debug下完全正常,下载后Nor Flash中脱机运行就不正常了,gel文件使用的是starterware中提供的6748.gel,重新配置了CPU相关频率,以及DDR时序,与AISGen.exe中配置的完全一样。