1.工程命令中可清除红屏显示:
<Preference android:key="debug_utils" android:title="@string/debug_utils"
android:persistent="false">
<intent android:action="android.intent.action.MAIN"
android:targetPackage="com.mediatek.mtklogger"
android:targetClass="com.mediatek.mtklogger.debugtool.DebugToolboxActivity" />
</Preference>
该功能实现在MTKLogger.apk中。调用了mediatek/external/aee/中bin:aee -c dal。
2.之后aee通过aed-main.c函数:aed_ioctl(看不到aee源码,猜的)调用显示部分驱动。将assert_layer合入到显示中:disp_assert_layer.c。
其中,打印字串显示:DAL_Printf。该处初始化显示红屏界面,合入ASSERT_LAYER.设置合入的层的透明度: DAL_CHECK_LCD_RET(LCD_LayerSetAlphaBlending(ASSERT_LAYER, TRUE, 0x80));。其中0xff为不透。0x0为全透。
3.显示调试字符串的地方:mediatek/kernel/drivers/conn_src/common/linux/pri/stp_dbg.c 函数:wcn_core_dump_flush
aee_kernel_dal_show("++ MT6572/82 coredump get successfully ++\n");