移动终端及其调试信息显示方法_2

文档序号:9349770阅读:来源:国知局
(Height)、宽度(Width)、像素深度(bits per pixel,Bpp)等值,在DDR中申请一等同大小的Frambuffer内存区域,并对此区域进行初始化,然后等待IXD完成初始化后直接将此FrambufTer显示到屏幕。同时导入8x16字库,提供字符串显示及背景色设置等接口。
[0033]6) MIPI初始化并将其设置为命令传输(CMD)模式:初始化DSI控制器,设置好电压和时钟,指定命令(Cmd)与数据(FrambufTer)存放地址,并将MIPI配置为命令传输模式。
[0034]7)读取IXD面板的软件ID:通过读取IXD面板中寄存器的软件ID,以验证MIPI初始化是否成功。
[0035]8) IXD面板初始化:通过MIPI向IXD面板传输初始化命令行列表,对IXD控制器进行配置,此过程需要确保各命令行延时准确,才能发送成功。
[0036]9) MDP配置:初始化MDP DMA和MDP PPP相关控制器,根据Frambuffer以及LCD面板的配置信息,将MDP设置为视频(VIDEO)模式,DMA地址指向DDR中的帧缓冲内存地址。
[0037]10)MIPI设置为VIDEO模式:因为IXD面板初始化已完成,不需要再进行命令传输,所以需要根据IXD面板的配置信息,将MIPI重新设置为VIDEO模式,用于将Frambuffer数据传输至IXD面板。
[0038]11)开启IXD面板:使能MDP与DSI控制器,将Frambuffer中数据实时传送至IXD面板进行显示。
[0039]12)开启背光:将引脚GP1098配置为单向输出状态,然后直接拉高引脚GP1098,使能背光控制器,让背光控制器输出高电平,从而点亮LCD中的背光;
[0040]经过以上配置并开启IXD后,AP会在后台自动将frambuffer中的信息传送到IXD中进行实时显示。因此,只要在SBLl中需要调试的代码位置,调用以上字符串显示函数接口,将需要显示的字符串通过字库映射转换成RGB像素信息,复制到frambuffer中预设位置,即可在屏幕上将文字显示出来。具体的实现方法示意图如图4所示:
[0041]步骤S100:开机。
[0042]步骤SlOl:PBL 运行。
[0043]步骤S102:加载跳转至SBLl。
[0044]步骤S103:基本硬件初始化。
[0045]步骤S104:判断SBLl阶段是否提前开启IXD。如果是,则执行步骤S105,如果否,则执行步骤S106。
[0046]步骤S105:初始化并打开IXD。
[0047]步骤S106:判断运行期间关键断言是否出错。如果否,则执行步骤S108,如果是,则执行步骤S107,判断IXD是否已打开。如果IXD已打开,则显示发生错误代码的具体函数、行数、文件名等调试信息;如果LCD没有打开,则先初始化并打开LCD,再显示发生错误代码的具体函数、行数、文件名等调试信息。之后循环等待用户操作。其中否表示关键断言没有出错,说明此时系统调试正常,继续进行后续的调试。
[0048]步骤S108:判断是否进入下载(download)状态。如果否,则继续后续调试,执行步骤S109。如果是,则执行步骤S107,判断IXD是否已打开。如果IXD已打开,则显示“download mode” ;如果IXD没有打开,则先初始化并打开IXD,再显示“download mode”。之后循环等待用户操作。其中download mode可以是紧急下载模式或一般下载模式。
[0049]步骤S109:判断是否是Ramdump状态。如果否,则继续后续调试,执行步骤S110。如果是,则执行步骤S107,判断IXD是否已打开。如果IXD已打开,则显示“Ramdump mode”,读取共享内存,显示将Ramdump原因信息,提示用户将Ramdump导出的方法;如果LCD没有打开,则先初始化并打开IXD,再显示“Ramdump mode” ,读取共享内存,显示将Ramdump原因信息,提示用户将Ramdump导出的方法。之后循环等待用户操作。
[0050]步骤SllO:加载子系统images。
[0051]步骤Slll:判断是否子系统images健全失败。如果否,则继续后续调试,执行步骤S112。如果是,则执行步骤S107,判断IXD是否已打开。如果IXD已打开,则显示“loadingXXX image fail”;如果IXD没有打开,则先初始化并打开IXD,再显示“loading xxx imagefail”。之后循环等待用户操作。
[0052]步骤SI 12:加载并跳转至LK。
[0053]以系统异常死机的显示为例,移动终端在运行过程中发生系统异常死机时,Kernel将系统异常死机信息保存于共享内存中,移动终端以不掉电模式重启后进入SBLl ;SBLl程序检测到进入系统异常死机状态,便初始化并开启LCD,从共享内存中获取系统异常死机相关文字信息,转换为像素信息后复制到Frambuffer中,屏幕便直接输出相关系统异常死机信息。由AP故障引起的系统异常死机,如图4所示,屏幕显示了发生故障的CPU号、PID、PC、LR、调用堆栈等信息,并提示用户可以按电源键+音量上键将系统异常死机的调试信息(Log)导出到SD卡,通过USB连接到个人电脑(PC)端的高通产品支持工具(Qualcomm Product Support Tool,QPST)可将调试信息导出到电脑。显然,即使没有数据线或PC的相应软件工具,也能立即反馈移动终端发生故障的种类与原因,以利于研发人员迅速定位与解决问题。
[0054]图6是本发明实施例的显示调试信息方法的流程示意图。如图6所示,显示调试信息方法包括:
[0055]步骤S20:在PBL引导程序运行之后,加载并跳转至SBLl引导程序,在SBLl引导程序中,在调试的代码位置调用字符串显示函数接口。
[0056]在调试的代码位置调用字符串显示函数接口的步骤之前,包括:判断调试信息是否出错,如果是,则在调试的代码位置调用字符串显示函数接口 ;如果否,则继续进行调试。
[0057]步骤S21:将需要显示的调试信息通过字库映射成RGB像素信息。
[0058]在调试的代码位置调用字符串显示函数接口的步骤之后,判断LCD是否进行了初始化,如果否,则对LCD进行初始化;如果是,则将需要显示的调试信息通过字库映射成RGB像素信息。当然在本发明实施例中,也可以在步骤S20中,在调试的代码位置调用字符串显示函数接口的步骤之前,进行对LCD初始化。
[0059]步骤S22:将RGB像素信息复制到帧缓冲内存中预设位置,且在SBLl引导程序运行时在移动终端的IXD上显示调试信息。
[0060]其中,调试信息包括SBLl引导程序运行异常信息、映像健全情况、下载状态、系统异常死机信息的至少之一。如此,能够直接在移动终端的IXD上显示SBLl阶段的调试信息,立即反馈移动终端发生故障的种类与原因,以利于研发人员迅速定位与解决问题,通过文字界面实现用户与移动终端间的交互,提高了用户体验度。
[0061]综上所述,本发明通过开始SBLl调试,在调试的代码位置调用字符串显示函数接口 ;在LCD进行了初始化后,将需要显示的调试信息通过字库映射成RGB像素信息;将所述RGB像素信息复制到帧缓冲内存中预设位置,在SBLl调试时在所述LCD上显示所述调试信息,能够直接在移动终端的IXD上显示SBLl阶段的调试信息,通过文字界面实现用户与移动终端间的交互。
[0062]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种移动终端的调试信息显示方法,其特征在于,所述方法包括: 在PBL引导程序运行之后,加载并跳转至SBLl引导程序,在所述SBLl引导程序中,在调试的代码位置调用字符串显示函数接口; 将需要显示的调试信息通过字库映射成RGB像素信息; 将所述RGB像素信息复制到帧缓冲内存中预设位置,且在SBLl引导程序运行时在所述移动终端的IXD上显示所述调试信息。2.根据权利要求1所述的方法,其特征在于,所述在调试的代码位置调用字符串显示函数接口的步骤之前,进行所述LCD初始化。3.根据权利要求1所述的方法,其特征在于,所述在调试的代码位置调用字符串显示函数接口的步骤之后,判断所述LCD是否进行了初始化,如果否,则对所述LCD进行初始化;如果是,则将需要显示的调试信息通过字库映射成RGB像素信息。4.根据权利要求1所述的方法,其特征在于,所述在调试的代码位置调用字符串显示函数接口的步骤之前,包括:判断所述调试信息是否出错,如果是,则在调试的代码位置调用字符串显示函数接口 ;如果否,则继续进行调试。5.根据权利要求1所述的方法,其特征在于,所述调试信息包括SBLl引导程序运行异常信息、映像健全情况、下载状态、系统异常死机信息的至少之一。6.一种移动终端,其特征在于,所述移动终端包括: 调用模块,用于在PBL引导程序运行之后,加载并跳转至SBLl引导程序,在所述SBLl引导程序中,在调试的代码位置调用字符串显示函数接口 ; 映射模块,用于将需要显示的调试信息通过字库映射成RGB像素信息; 显示模块,与所述调用模块以及所述映射模块连接,用于将所述RGB像素信息复制到帧缓冲内存中预设位置,且在SBLl引导程序运行时在所述移动终端的LCD上显示所述调试?目息O7.根据权利要求6所述的移动终端,其特征在于,所述移动终端还包括初始化模块,用于进行所述LCD初始化。8.根据权利要求6所述的移动终端,其特征在于,所述移动终端还包括判断模块,用于判断所述LCD是否进行了初始化;如果否,则所述移动终端对所述LCD进行初始化;如果是,则所述映射模块将需要显示的调试信息通过字库映射成RGB像素信息。9.根据权利要求8所述的移动终端,其特征在于,所述判断模块还用于判断所述调试信息是否出错,如果是,则所述调用模块在调试的代码位置调用字符串显示函数接口 ;如果否,则继续进行调试。10.根据权利要求6所述的移动终端,其特征在于,所述调试信息包括SBLl引导程序运行异常信息、映像健全情况、下载状态、系统异常死机信息的至少之一。
【专利摘要】本发明公开了一种移动终端及其调试信息显示方法,方法包括:在PBL引导程序运行之后,加载并跳转至SBL1引导程序,在SBL1引导程序中,在调试的代码位置调用字符串显示函数接口;将需要显示的调试信息通过字库映射成RGB像素信息;将RGB像素信息复制到帧缓冲内存中预设位置,且在SBL1引导程序运行时在移动终端的LCD上显示调试信息。通过上述方式,本发明能够直接在移动终端的LCD上显示SBL1阶段的调试信息,通过文字界面实现用户与移动终端间的交互。
【IPC分类】G06F3/14, G06F9/445
【公开号】CN105068835
【申请号】CN201510474745
【发明人】陈钊洪, 周敬高, 钟日丽
【申请人】惠州Tcl移动通信有限公司
【公开日】2015年11月18日
【申请日】2015年8月5日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1