QCC512x 与QCC302X基于ADK6.X 的开发,可以用BlueSuite3,当前安装的是BlueSuite 3.2.1 ,可以cd C:\Program Files (x86)\QTIL\BlueSuite 3.2.1 运用CMD 命令
cd C:\Program Files (x86)\QTIL\BlueSuite 3.2.1
NvsCmd erase
在调试的过程中,或用NvsApp.exe 进行擦除,如果量产的话需要运用BlueSuite 库来写量产工具,可以参阅BlueSuite 安装路径下的文档,此处用TestFlash 的库运用C语言程序来擦除Flash
1、开发环境设置
开发环境:C++(Microsoft Visual Studio)
头文件:TestFlash.h
库文件:TestFlash.lib
运行环境:Windows 系统,TestFlash.dll 相关DLL,为了使得工具能够运行,可以把TestFlash.dll 相关DLL所在文件夹路径:C:\Program Files (x86)\QTIL\BlueSuite 3.2.1,设置成Path环境变量,这样工具程序就可以动态调用DLL相关库运行了。
2、开发流程
打开Microsoft Visual Studio 集成开发环境,新建à Win32-> console application,输入Project名BT_Mag_Erase,选择console application—>Empty project->Finish 确认。
添加BT_Mag_Erase.cpp,代码如下:
//以下是擦除 Flash 的参考实例
#include "include\\TestFlash.h"
#include
#include
#include
using namespace std;
static const char* const CFG_DB_PARAM = "hyd.sdb:QCC512X_CONFIG";
int main(int argc, char** argv){
if (flOpen(-1, 32, 2, TFL_TRB) != TFL_OK)
{
cout << "Failed to open TestFlash connection" << endl;
}
else
{
// Note: TFL_TYPE_STANDARD used for BlueCore ICs only.
#if 1
if (flSetFlashType(TFL_TYPE_SQIF) != TFL_OK)
{
cout << "Failed to set flash type" << endl;
}
else
#endif
{
bool success = true;
if (success && flSetSubsysBank(4, 0) != TFL_OK)
{
cout << "Failed to set subsystem and bank" << endl;
success = false;
}
int32 result = flErase();
if (result != TFL_OK )
{
success = false;
}
if (success)
{
cout << "Erase successful!!" << endl;
}
else
{
cout << "Erase fail!" << endl;
}
flClose();
}
}
getch();
}
然后把TestFlash.lib 添加进来,就可以编译通过
3、运行结果
QCC512x 与QCC302X 系列的板子,通过 TRBI200连上PC, 运行应用工具,
稍等 1分钟左右,Flash 被擦除
评论
蓝牙门诊部Self
2021年1月7日
张工
2020年5月19日
Derek
2019年12月2日
我們想用TestEngine來做寫入Bluetooth device Address功能, openTestEngine()是成功的, 但在call "int32 success = teConfigCacheInit(handle, CFG_DB_PARAM);" 傳回值為0, 表示error, 與您的定義相同"static const char* const CFG_DB_PARAM = "hyd.sdb:QCC512X_CONFIG";" 不知這方面的問題是否有何建議? 謝謝!