QCC304x/QCC514x Pydbg在线调试

  • 准备工作

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

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

 

内容如下所示:
 

:: Change variables for your system

set ELFDIR=D:\Work\PrjTWS\DevCode\earbud\workspace\QCC3040-AA_DEV-BRD-R2-AA\depend_debug_qcc514x_qcc304x

set TOOLS=D:\ProgramFiles\Qualcomm\ADK_Toolkit_1.0.1.19_x64\apps\fw\tools

set PYTHONDIR=D:\ProgramFiles\Qualcomm\ADK_Toolkit_1.0.1.19_x64\tools\python27

set DEVICE1=114

set DEVICE2=118

start 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

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值