• 准备工作

调试前,需要先编译出左右两侧的固件,并分别烧录进去。然后重新上电,可以在充电状态测试,也者非充电状态;耳机重烧录后,首次会进行相互配对,配对成功后会有语音提示,可以从耳机中听到。

编写控制台下的调试脚本,可以采用USB接口调试,也可以采用TRBI200进行调试,两个脚本略有不同。将该脚本类型设为bat文件,并放置在工程所在目录下,笔者采用的是QCC3040,所以bat文件存放路径为:DevCode\earbud\workspace\QCC3040-AA_DEV-BRD-R2-AA\ pydbg_earbud_session.bat

内容如下所示:

:: Change variables for your systemset ELFDIR=D:\Work\PrjTWS\DevCode\earbud\workspace\QCC3040-AA_DEV-BRD-R2-AA\depend_debug_qcc514x_qcc304xset TOOLS=D:\ProgramFiles\Qualcomm\ADK_Toolkit_1.0.1.19_x64\apps\fw\toolsset PYTHONDIR=D:\ProgramFiles\Qualcomm\ADK_Toolkit_1.0.1.19_x64\tools\python27set DEVICE1=114set DEVICE2=118start cmd.exe "/k %PYTHONDIR%\python %TOOLS%\pydbg.py -d usb:%DEVICE1%,usb:%DEVICE2% -f apps1:%ELFDIR%\earbud.elf"start cmd.exe "/k %PYTHONDIR%\python %TOOLS%\pydbg.py -d usb:%DEVICE1%,usb:%DEVICE2% -f apps1:%ELFDIR%\earbud.elf":: for TRBI200 debuger;::set DEVICE1=102::set DEVICE2=180210::start cmd.exe "/k %PYTHONDIR%\python %TOOLS%\pydbg.py -d usb:%DEVICE1%,trb:scar:%DEVICE2% -f apps1:%ELFDIR%\earbud.elf"::start cmd.exe "/k %PYTHONDIR%\python %TOOLS%\pydbg.py -d 
  • Pydbg调试

两个earbud和电脑 连接好并被正常识别出来后,运行上述bat文件,会产生两个cmd控制窗口,我们用其中一个来实时显示系统运行日志,另一个用来输入调试指令,

显示实时日志的指令为:system.apps1.live_log()

前面为A表示 右侧,B表示左侧的日志。

然后我们可以在指令输入窗口通过输入以下指令来让耳机进入取出电池盒并进入手机配对状态:

apps1A.fw.call.appTestPhyStateOutOfCaseEvent()apps1B.fw.call.appTestPhyStateOutOfCaseEvent()
  • 常用调试指令
apps1A.fw.call.appSmIsInCase()apps1B.fw.call.appSmIsInCase()apps1A.fw.call.appSmIsOutOfCase()apps1A.fw.call.appSmIsInEar()apps1A.fw.call.appTestIsPeerPaired()apps1A.fw.call.appTestIsPairingInProgress()apps1A.fw.call.appSmGetState()apps1A.fw.call.appTestFactoryReset()apps1B.fw.call.appTestFactoryReset()battery:apps1.fw.call.appTestGetBatteryVoltage()apps1.fw.call.appTestBatteryStateIsOk()apps1.fw.call.appTestBatteryStateIsLow()apps1.fw.call.appTestBatteryStateIsCritical()apps1.fw.call.appTestBatteryStateIsTooLow()apps1.fw.call.appTestBatteryFilterResponseTimeMs()paring:apps1.fw.call.appTestPairHandset()apps1.fw.call.appTestDeleteHandset()apps1.fw.call.appTestPairPeer()apps1.fw.call.appTestDeletePeer()apps1.fw.call.appTestGetPeerAddr()apps1.fw.call.appTestIsPairingInProgress()apps1.fw.call.appTestIsHandsetConnected()

以下为搞自其它网友:https://blog.csdn.net/wzz4420381/article/details/106773005


修复 live_log故障:

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xbb in position 0: ordinal not in range(128)

1. 修 改 C:\qtil\qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud\adk\tools\packages\tabs\pydbg_tab.py

# Python 2 and 3
from __future__ import print_function
import os
import sys
from xml.etree import ElementTree
import argparse
import glob
from workspace_parse.workspace import Workspace# 插入下述代码
import sys
reload(sys)
sys.setdefaultencoding('gbk')

2. 修改 C:\qtil\ADK_Toolkit_1.0.1.8_x64\apps\fw\tools\pydbg.py

import os
import sys
import sys
reload(sys)
sys.setdefaultencoding('gbk')

>>修复 acat 故障

python: can’t open file ‘C:/qtil/qcc514x-qcc304x-src-1-0_qtil_standard_oem_earbud/adk/bin/qcc514x_qcc304x/audio/tools/acat/ACAT.py’:
[Errno 2] No such file or directory ), 修 改 C:\qtil\qcc514x-qcc304x-src-1-
0_qtil_standard_oem_earbud\adk\tools\extensions\acat_tab\ext.xml,修改完成后,关闭 qmde 再打开。

>打开 win10 cmd 的 ANSI 配色功能

ANSI 转义字符显示为乱码[1m [35m] ,从 cmd.exe 输入(也可以在 PowerShell 中使用):reg add HKCU\Console /v VirtualTerminalLevel /t REG_DWORD /d 1

QCC304x/QCC514x Pydbg在线调试相关推荐

  1. QCC304X/QCC514X DFU/OTA升级精讲

    本例适用与芯片:QCC304X QCC514X,其它系列原理应该相似 说明: Earbud芯片的无线OTA(DFU)有两种模式:前端模式和后端模式: 前端模式:即耳机可以连听音乐边进行OTA,固件传输 ...

  2. QCC304x/QCC514X 左右MAC地址的配置及关系

    左右两侧的MAC地址不能一样SDAK规定MAC地址的最后一个字节值为偶数时表示右侧的耳机,属于A侧:数值为奇数时为左侧,历属B侧:A和B是在用pydbg调试时用来表示右和左侧,A表示右侧,B表示左侧: ...

  3. 5个在线调试代码的网站

    对于编程开发的人来说,有个快速测试代码的地方是非常方便重要的,这里,我们收集了5个很好用的在线调试网站. 1.codepad 是一款简单的在线 IDE 编辑器服务,你只需要把代码粘贴进去就可以编译运行 ...

  4. 使用Xcode External Build System实现Rust 项目 Capture GPU Frame 在线调试 Metal 2018.12.18

    文档列表见:Rust 移动端跨平台复杂图形渲染项目开发系列总结(目录) 根据kvark指导,Xcode创建External Build System项目可通过Capture GPU Frame查看gf ...

  5. 程序可以下载,在线调试disassembly窗口就出现了大片0x00000000 FFFFFFFF DCD 0xFFFFFFFF ; ? Undefined

    使用开发板例程,就算再简单的程序,在线调试时disassembly窗口也会出现大片0x00000000 FFFFFFFF  DCD      0xFFFFFFFF   ; ? Undefined,最后 ...

  6. 基于KEIL的stm32远程在线调试

    很多伙伴们可能遇到这样一个问题,在现场的设备出现问题了.但是又找不出原因,需要进行在线调试.但是出差成本又太高了.将工程文件发送到客户电脑,再通过远程工具连接客户电脑进行调试又会出现很大的源码泄露风险 ...

  7. ARM 之十二 Cortex-M 内核异常处理、异常定位方法、在线调试、Keil MDK-ARM 的使用

      Cortex-M 内核本身提供了非常强大的异常处理机制.它可以非常有效的捕捉非法的内存访问以及其他一些异常.而我们常用的开发工具的异常处理就是使用了 Cortex-M 核的异常处理机制.   在 ...

  8. 基于Quartus II的在线调试方法

    细算一下,发现Altera在Quartus II工具中居然提供了五种不同的在线调试方法.这里的在线调试是指协助或不借助于外部工具的FPGA板级调试.这些方法调试形式上稍有不同,互有优劣,目的都是为了帮 ...

  9. (原创总结) Quartus II 的在线调试方法

    以前不大注意, Altera 在quartus里还是提供了很多在线调试的方法, 在Quartus II Version 7.2 Handbook Volume 3: Verification中的Sec ...

最新文章

  1. poj2559/SP1805 Largest Rectangle in a Histogram
  2. 查看Infinicon的HCA卡上的网络流量的方法
  3. vue3.0 AntDesignVue2.0 table的rowkey报错问题解决方法
  4. GCC Inline ASM GCC内联汇编
  5. 什么是跨域(定义理解错误)
  6. 11.排序算法_1_快速排序
  7. 台式机鼠标失灵打开计算机,台式电脑鼠标不动了怎么办
  8. Nginx屏蔽个别User-Agent蜘蛛访问网站的方法
  9. HALCON:Variation Model用法解析
  10. 使用localhost调试本地代码,setcookie无效
  11. VR厂商,你们考虑过霍金的感受吗?
  12. C++ 中 ifstream读取txt文件内容
  13. View系列:事件分发:滑动触摸事件分发
  14. Golang 生成钱包地址
  15. PHP防范XSS攻击
  16. CTF线下AWD攻防步骤总结
  17. 1945:【09NOIP普及组】多项式输出
  18. YOLOV7详细解读(一)网络架构解读
  19. 实现一个指南针功能的微信小程序
  20. 猫,量子力学,和手机人像摄影之变

热门文章

  1. USACO 1月 2021-2022 January Contest Silver银组 题解
  2. python输入一个四位数、逆序输出这四位数_输入一个四位数,输出这个四位数的逆序数,比如输入1234,输出4321_学小易找答案...
  3. 专家看台:柯莱特CTO谈企业选择CRM的六大目标
  4. 福建学业水平考试技能考Windows Server 服务器的配置真题
  5. 二叉树的堂兄弟节点(2种实现方式)
  6. android获取定位并标点,Android Studio 中实现高德定位并获取相应信息
  7. 工作和生活中,...
  8. ArcGIS出图时如何制作花式边框
  9. HashMap内部节点是有序的吗?
  10. 乳腺癌2002~2018城市和乡村个年龄段患病率曲线图绘制 ---pyechart