尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

展讯平台软件调试全攻略:从刷机烧录到串口日志分析

展讯平台软件调试全攻略:从刷机烧录到串口日志分析 简介一份面向展讯平台开发者的软件调试图文资料基于2021-2022年整理适合手机方案公司工程师、嵌入式驱动开发与测试人员也适合刚接触展讯平台的初学者建立整体认知。资料系统讲解Dloader、NVEditor、Channel Server、Logel、Phone Tester与DSP Log等核心调试工具覆盖下载烧录与打包文件制作、NV参数读写备份、串口通信转发与字节序转换、实时日志监控与回放、内存/寄存器读写、RF校准及Audio设置等关键操作同时提示DeepSleep状态下Phone Tester操作失效、SCI_TRACE_LOW频繁调用影响效率或导致堆栈溢出等常见注意事项。全包仅1个doc文档约70KB便于随身查阅或作为团队培训讲义目前已有114人学习下载。图文结合工具界面与配置项说明读者可借此快速掌握展讯平台调试工具链的用法提升开发中定位与解决问题的效率。 芯片调试这行干久了手里多少都会攒下几份压箱底的资料。2021-2022年那阵子我整理过一批展讯平台软件调试的图文笔记从刷机工具到USB驱动、从串口抓log到日志分析全都覆盖了。最近翻出来再看发现大部分内容放到现在依然通用展讯现在叫紫光展锐的芯片在功能机、低端智能机、行业终端里出货量一直不小软件调试始终是FAE、驱动工程师、维修工程师绕不开的活。这篇就把展讯平台软件调试的完整套路重新梳理一遍涵盖环境搭建、刷机烧录、串口日志、常见故障排查。资料偏入门到进阶的实操向适合刚接触展讯平台的新手也适合想把手头调试流程捋顺的老手参考。都是实际跑过的流程和踩过的坑可以直接照着操作。1. 展讯平台软件调试到底在调什么1.1 展讯紫光展锐平台的基本盘展讯平台这些年常见的芯片型号大致分几类功能机时代的SC6531系列智能机时代的SC7731、SC9832、SC9863以及后来的UMS312、T310、T610等。不同芯片的调试工具和刷机原理基本一致区别主要在配置文件和部分底层寄存器的处理方式上。调试工作集中在这几个方向开机异常不开机、反复重启、卡logo、功能异常触摸/WiFi/音频/相机等外设不工作、功耗异常待机电流大、发热严重、以及量产阶段的烧录和校准问题。软件调试的核心就是通过刷机、串口log、寄存器读写等手段快速定位问题是出在软件还是硬件再进一步缩小到具体模块、具体代码位置。1.2 调试工作的三大方向展讯平台的软件调试归纳起来就三件事。第一件事是刷机烧录。无论是升级新版本、救砖还是确认问题是否和当前固件相关都绕不开烧录。烧录工具会把整个固件包包括bootloader、内核、modem、bootimage、system等分区写入设备flash。这个环节看着简单但驱动不通、配置选错、PAC文件不对都会翻车。第二件事是抓串口日志。设备跑起来之后系统日志、内核日志都通过调试串口输出。有了log才能判断系统跑到哪一步崩的、崩溃时调用栈在哪、哪个驱动报错。没有log的调试基本靠猜效率极低。第三件事是设备端的交互操作比如进入刷机模式、恢复出厂、切换测试模式等。展讯平台通常有固定的按键组合或ADB命令方式进入不同模式这和后面要讲的调试流程直接关联。2. 调试环境搭建驱动与工具选型2.1 调试电脑上的四件套展讯平台的电脑调试环境我一般装机必备以下四样东西工具/组件用途备注展讯USB驱动让电脑识别设备的下载端口/ADB端口驱动装不上后面全白搭ResearchDownload官方烧录工具展讯调机最常用老版本兼容老芯片注意版本匹配串口工具SecureCRT/MobaXterm/PuTTY连接设备调试串口抓log波特率通常115200ADB工具智能机平台文件操作、命令交互SC9863、UMS312等平台必备展讯平台的刷机工具与USB驱动合集网上很容易搜到但我的建议是尽量用资料包里自带的、和芯片平台匹配的版本。举个例子SC6531这种功能机芯片的驱动和UMS312智能机芯片的驱动不完全一样混用轻则识别不到设备重则烧录到一半报错白白浪费时间。2.2 驱动安装顺序与常见坑驱动安装的顺序问题很多人不重视实际上坑特别多。正确流程是先装驱动后插设备。先把驱动压缩包解压到本地目录右键以管理员身份运行安装程序。装完之后再用USB线连接设备。如果是刷机模式电脑设备管理器里应出现类似“Spreadtrum Download Port”或带端口号的设备如果是正常开机状态则可能出现ADB接口。一个非常常见的坑设备管理器里显示的是“未知设备”或者带黄色感叹号。这种情况多半是驱动版本不对或者电脑上装了多个版本的USB驱动导致冲突。处理办法是右键设备选择“更新驱动程序”手动指向驱动目录重新安装。如果还不行把设备和电脑都重启一遍再试。另外提醒一句网上搜索“XX调试软件”时经常搜到一堆名字相似但完全不相关的东西比如某些设备调试工具、电机调试软件之类和展讯平台没有任何关系。展讯平台调试认准ResearchDownload和串口工具就够用了不要装一堆乱七八糟的软件到系统里反而搞出驱动冲突。3. 刷机与烧录实操全流程3.1 ResearchDownload完整步骤ResearchDownload是展讯平台烧录的主力工具。完整的刷机流程大致如下注意刷机前务必先备份重要数据。普通调试场景选“仅下载”模式不要轻易勾选“全擦除”否则设备上的IMEI、校准参数、MAC地址等信息会全部丢失。第一步打开ResearchDownload工具加载配置文件。展讯的固件包通常是.PAC格式有些项目也会给XML分文件的格式。选择对应的PAC文件工具会自动解析出下载项包括bootloader、modem、system等分区。第二步配置下载选项。调试用建议只勾选需要更新的分区一般默认全勾问题也不大但要注意擦除选项。普通调机选择“仅下载”不要选擦除全Flash。量产场景下如果确实需要清空所有数据才考虑“格式化全Flash”之类的选项但这是高风险的得对后果有清晰预期。第三步连接设备进入刷机模式。展讯平台大多是关机状态下按住音量键或特定组合键再插USB工具有时会自动触发下载。设备连接正常后工具界面上会显示设备端口和不一致项或下载项列表。第四步点击下载按钮观察进度条。下载过程中设备不能断开USB也不能断电。进度走完通常会提示下载成功设备自动重启此时观察是否能正常开机、首次开机log是否正常。3.2 烧录参数怎么选才不翻车刷机翻车多半是参数选择的问题。PAC文件里包含了分区表、bootloader、modem等关键内容配置好后不要轻易改动。“恢复完整性检查”这类选项量产后如果设备不稳定可以和硬件校准配合做一次彻底恢复。但个人调试阶段不建议因为很多设备出厂时写入了专属的校准数据和密钥全擦除后这些数据不会自动回来设备会出现射频指标异常、WiFi地址丢失之类的问题。还有个细节是USB线的质量。刷机对USB的稳定性要求很高劣质线材经常导致刷到一半报“DL FAILED”或者设备反复断开重连。我习惯在调试包里常备几根短粗的USB线就是为这事。新版ResearchDownload和老版芯片的兼容性也要注意。老平台SC6531用新版工具偶尔会无法识别解决办法是保留一个老版本工具专事专办。调试资料包里的工具我都是按芯片分类存放的避免混淆。4. 串口与日志调试的核心套路4.1 串口抓log的正确姿势刷机能解决一部分问题但真正定位问题还得靠log。展讯设备的调试串口一般会引到板端的调试座上需要用TTL转USB小板连接电脑。接线要确认TX、RX、GND三根线RX接设备的TXTX接设备的RXGND接GND接反了会收不到任何输出。串口参数设置波特率115200数据位8停止位1无校验无流控。这几个参数不匹配的话log要么是一片乱码要么完全空白。我见过有人用9600波特率连了半天换了参数立马正常。设备开机过程中串口会输出从bootloader到kernel再到Android系统的完整启动日志。正常的log能看到内核版本、驱动加载、服务启动等关键节点。如果中途日志突然中断多半就是卡在对应位置了比如内核panic或者某个驱动初始化阻塞。4.2 log分析的三板斧拿到log之后怎么快速定位问题我总结了三板斧。第一板斧看关键词。在log里搜索“panic”“fatal”“exception”“assert”“watchdog”这些关键词。这些词出现的位置就是系统崩溃的直接现场。内核崩溃通常会打印出调用栈backtrace调用栈能告诉我们崩溃发生在哪个函数、被谁调用这是最有价值的信息。第二板斧看时间线。崩溃之前的几十行log往往记录了崩溃前的状态变化比如内存不足、某个外设注册失败、某个irq请求异常。这些线索拼起来基本能还原出崩溃的因果关系。第三板斧查具体模块。展讯平台的外设驱动都会打模块标签比如音频的log会带aud、触控会带tp之类。定位到具体外设问题就锁定对应模块的log片段再查驱动代码或者寄存器配置。举个实际案例之前调一台SC9863平台的机器反复重启。串口log里看到kworker线程反复报GPIO中断风暴中断号一直往上跳。顺着log找到对应GPIO配置发现是一个触摸屏中断脚浮空没有正确在驱动里配置上拉导致中断反复触发。改了设备树配置重新烧录问题解决。这就是典型的靠log定位问题、读代码确认原因、改配置修复的完整路径。5. 常见问题与排查技巧实录5.1 高频故障速查表把这几年展讯平台调试遇到的高频问题整理一张表方便对照排查现象可能原因排查方向设备管理器不识别设备驱动未装好 / USB线材问题 / 设备未进入下载模式重装驱动、换USB线、确认按键组合进入下载模式刷机卡在0%或中途中断PAC文件不完整 / 分区表不匹配 / USB供电不足换完整PAC、插后置USB口、避免使用USB Hub刷机报CHKSUM ERRORflash型号不匹配 / 下载项被改动 / 工具版本不对核对PAC中的flash型号、恢复默认下载项、换匹配版本工具有电流反应但串口无输出串口接线错误 / 波特率错误 / bootloader损坏核对TX/RX接线、确认波特率、重新烧录bootloaderlog全乱码波特率不对 / 接地不良修改串口参数、检查GND连接刷完机反复重启内核版本问题 / 分区数据丢失 / 硬件不稳定查看重启前log、核对是否误选了全擦除、检查供电这三个问题对应实际操作中的三种典型场景工具问题、配置问题、硬件问题。排查顺序也按这个来先确认工具和驱动再排查配置和固件最后才怀疑硬件。5.2 几条压箱底的调试心得最后分享几条我自己实际摸索出来的经验这些在文档里通常不会写。第一条手边常备一个电流表和一台示波器。展讯平台不开机的问题先用电流表串到电池供电线上看电流反应。按下开机键电流有跳变说明CPU在跑完全没有电流大概率是电源部分或者boot相关硬件的问题不急着刷机。供电部分用示波器看各路电源时序是否正常很多莫名其妙的问题都能在这两步直接排除。第二条不要轻易尝试“格式化全Flash”。展讯平台这个选项一旦执行分区表、校准参数、密钥全都没了。如果固件里不包含完整的校准数据设备刷完就是一块砖连厂商的修复工具都未必能救回来。调试阶段认准“仅下载”这个习惯能帮你避开最大的坑。第三条把调试资料整理成一个体系。驱动分平台、工具分版本、文档按芯片型号归档。别小看这个习惯2021-2022年那批资料现在还能直接帮我快速上手新项目就是因为当初做了整理。临时从网上现找工具和驱动版本对不上浪费时间还会踩到莫名奇妙的坑。展讯平台的软件调试说复杂也复杂说简单也简单核心就是环境对不对、log有没有、配置懂不懂。把这三点拿捏住大部分问题都能有个清晰的排查方向。上面这些流程和方法都是实践检验过、还在继续用的希望对同行们有实际帮助。本文还有配套的精品资源点击获取
返回列表