DEBUG寄存器:word 0xa0000010
word 0xa0000010 1 //debug开
word 0xa0000010 0 //debug关
当然也可以按模块打开/关闭debug信息,如 DBGCFG_KMF/DBGCFG_UMF/DBGCFG_MENU/DBGCFG_TUNER模块等。
所以大家在使用过程中要按源文件所在的模块加打印信息,这样的话,按模块开启或关闭打印信息较为方便。
如在“atv_app.c”中添加打印信息,应该使用“atv_printf()”而不是“printf()”,因为在“atv_app.c”中已经定义了如下关联:
#define atv_printf(fmt, arg...) UMFDBG(0,"[ATV App]" fmt, ##arg)
将“atv_printf”与“UMFDBG”进行了关联,我们设置“word 0xa0000010 0x400”可以单独控制此模块的debug。
不同模块设置的寄存器值是不一样的,如umf debug值为0x400,具体在文件“drv_debug.h”中定义。
#define DBGCONFIG1ADDR 0xa0000010 #define DBGCONFIG2ADDR 0xa0000014 // pdbgconf1 Flags #define DBGCFG_VIP (1 << MODULEID_VIP) // 0x1 #define DBGCFG_MPEG (1 << MODULEID_MPEG) // 0x2 #define DBGCFG_CVD2 (1 << MODULEID_CVD2) // 0x4 #define DBGCFG_ADC (1 << MODULEID_ADC) // 0x8 #define DBGCFG_HDMI (1 << MODULEID_HDMI) // 0x10 #define DBGCFG_AUDIO (1 << MODULEID_AUDIO) // 0x20 #define DBGCFG_BLT (1 << MODULEID_BLT) // 0x40 // not used. reserved. #define DBGCFG_OSDLIB (1 << MODULEID_OSDLIB) // 0x80 // not used. reserved. #define DBGCFG_TUNER (1 << MODULEID_TUNER) // 0x100 #define DBGCFG_KMF (1 << MODULEID_KMF) // 0x200 #define DBGCFG_UMF (1 << MODULEID_UMF) // 0x400 #define DBGCFG_MENU (1 << MODULEID_MENU) // 0x800 // not used. reserved. #define DBGCFG_DEMUX (1 << MODULEID_DEMUX) // 0x1000 // not used. reserved. #define DBGCFG_PSI (1 << MODULEID_PSI) // 0x2000 #define DBGCFG_EPG (1 << MODULEID_EPG) // 0x4000 // not used. reserved. #define DBGCFG_SUBTITLE (1 << MODULEID_SUBTITLE) // 0x8000 // not used. reserved. #define DBGCFG_ATVCC (1 << MODULEID_ATVCC) // 0x10000 #define DBGCFG_DTVCC (1 << MODULEID_DTVCC) // 0x20000 #define DBGCFG_TTSLICER (1 << MODULEID_TTSLICER) // 0x40000 #define DBGCFG_TTDECODER (1 << MODULEID_TTDECORDER) // 0x80000 #define DBGCFG_JPEG (1 << MODULEID_JPEG) // 0x100000 // not used. reserved. #define DBGCFG_USB (1 << MODULEID_USB) // 0x200000 // not used. reserved. #define DBGCFG_IR (1 << MODULEID_IR) // 0x400000 #define DBGCFG_KEYPAD (1 << MODULEID_KEYPAD) // 0x800000 #define DBGCFG_SPI (1 << MODULEID_SPI) // 0x1000000 #define DBGCFG_I2C (1 << MODULEID_I2C) // 0x2000000 #define DBGCFG_EDID (1 << MODULEID_EDID) // 0x4000000 #define DBGCFG_GPIO (1 << MODULEID_GPIO) // 0x8000000 #define DBGCFG_LE (1 << MODULEID_LE) // 0x10000000 // not used. reserved. #define DBGCFG_CEC (1 << MODULEID_CEC) // 0x20000000 #define DBGCFG_VBV (1 << MODULEID_VBV) // 0x40000000 // used for runav log. #define DBGCFG_CI (1 << MODULEID_CI) // 0x80000000 //~ end of pdbgconf1 Flags // pdbgconf2 Flags #define DBGCFG_MP3 ( 1 << (MODULEID_MP3% 32) ) // 0x1 // not used. reserved. #define DBGCFG_CECSWITCH ( 1 << (MODULEID_CECSWITCH % 32) ) // 0x2 #define DBGCFG_PVR ( 1 << (MODULEID_PVR % 32) ) // 0x4 #define DBGCFG_DVBEUMIDDLEWARE ( 1 << (MODULEID_DVBEUMIDDLEWARE % 32) ) // 0x4 // not used. reserved. #define DBGCFG_HDMIOUT ( 1 << (MODULEID_HDMIOUT % 32) ) // 0x10 // not used. reserved. #define DBGCFG_FRAMEBUFFER ( 1 << (MODULEID_FRAMEBUFFER % 32) ) // 0x20 // not used. reserved. #define DBGCFG_2D ( 1 << (MODULEID_2D % 32) ) // 0x40 // not used. reserved. #define DBGCFG_SMP ( 1 << (MODULEID_SMP % 32) ) // 0x80 // not used. reserved. #define DBGCFG_ALSA (1<<(MODULEID_ALSA%32)) // 0x100 // not used. reserved. #define DBGCFG_RUNAV (1<<(MODULEID_RUNAV%32)) //0x1000 //used for runav debug log. #define DBGCFG_AUTOREBOOT 0x20000000 // not used. reserved. #define DBGCFG_AUTORUN_USB 0x40000000 // not used. reserved. #define DBGCFG_NOAUTORUN 0x80000000 // not used. reserved.