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 被擦除