使用贵公司的OMAP3530,WinCE6.0 BSP包开发一系列的项目系统。现遇到开机读取内核后,初始化LCD时出现中断循环的情况,根据超级终端的打印信息如下:
/*第一次初始化LCD中断信息*/
OMAPDisplayController::InitLCD LcdPdd_LCD_Initialize
DSI_IRQSTATUS 0x00000000
DISPC_IRQSTATUS 0x00004020
OMAPDisplayController::RestoreRegisters LcdPdd_LCD_Initialize
/*LCD初始化的循环中断信息*/
OMAPDisplayController::InitLCD LcdPdd_LCD_Initialize
OMAPDisplayController::RestoreRegisters LcdPdd_LCD_Initialize
DSI_IRQSTATUS 0x00000000
DISPC_IRQSTATUS 0x00004000
OMAPDisplayController::RestoreRegisters LcdPdd_LCD_Initialize
/*循环中断信息结束*/
循环中断信息在不手动断电的情况下是无限循环的,并不会进入系统,从而造成系统假死。
经过查询《OMAP35x Applications Processor echnical Reference Manual》Literature Number: SPRUF98S April 2010 – Revised June 2011 第2198页 Table 15-22. Display Subsystem Interrupts 可得知
DISPC_IRQSTATUS 0x00004020的含义为
PROGRAMMEDLINENUMBER The LCD reached the user-programmed line number.
SYNCLOST Interrupt occurs when VSYNC width/front or back porches are not wide enough to load the pipelines with data (LCD output).
DISPC_IRQSTATUS 0x00004000的含义为
SYNCLOST Interrupt occurs when VSYNC width/front or back porches are not wide enough to load the pipelines with data (LCD output).
希望能帮助我们理解上述中断原因的含义,给出一定的技术支持,以协助我们利用好贵公司的产品完成开发工作。