This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748启动时USB1.1接口不工作



您好!

     我在设计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中配置的完全一样。

  • 你好,几点建议。

    1,AISGEN中不要加配置,或者用最小的配置,所有的初始化都在代码中做。

    2,使用NOR FLASH也可以调试,比如在你想调试的代码前面加个while(1);,启动后代码会停在这个地方。然后通过JTAG连上后,LOAD SYMBOLS。然后手动调整PC跳过while(1),就可以单步走调试了。