QCC512x 与QCC302X基于ADK6.X 的蓝牙系列量产时需要信息读写,详见:
QUALCOMM QCC512x 与302X 蓝牙系列量产必备:设备信息修改
在读写的过程中,经常遇到不稳定的读写,返回错误的情况
问题列举:
QCC512x 与QCC302X系列烧录API里面(TestEngine),teConfigCacheInit函数返回总是error
如下代码:
const char* CFG_DB_PARAM = "hyd.sdb:QCC512X_CONFIG";
status = teGetAvailableDebugPorts(&maxLen, portsStr, transStr, &count);
if(TE_OK==status)
{
status=TE_OK;
iHandle=openTestEngineDebugTrans(transStr,0);
}
if(iHandle != 0)
{
int32 success = teConfigCacheInit(iHandle,CFG_DB_PARAM);//------>success返回值总是0,此处会出错
uint32 erro=teGetLastError(iHandle);
。。。。。。
}
初始化,打开,都没有问题,teConfigCacheInit 怎么会出错!
排查:
1、 运行要加载的DLL 与编译的lib要出于同一个ADK BlueSuite或者,为了避免dll问题加载顺序问题,不要拷贝BlueSuite dll 到 应用工程的路径下,可以先设置dll所在环境变量,如下图
2、 针对TRBI USB 驱动, 检查ADK 与 BlueSuite 版本,ADK 版本为ADK_QCC512x_QCC302x_WIN_6.3.X 与BlueSuite 3.2.1版本及之前,USB Debug 与TRBI的驱动是分开的。
在ADK_QCC512x_QCC302x_WIN_6.4.X 与BlueSuite 3.2.2版本及之后,USB Debug 与TRBI 是一个驱动文件。
在调试的过程中,如果量产的话需要运用BlueSuite 库来写量产工具,开发应用时,需要注意对应ADK 与版本BlueSuite 版本!
评论
Mrk
2020年11月21日