芯片配置
点击左侧功能导航栏的图标 ,进入Chip Configuration(芯片配置)页面。

用户可配置存储在芯片NVDS区域的参数,包括USER参数和ROM参数。
- USER参数:用户自定义的参数,允许用户新增、删除以及修改参数。
- ROM参数:芯片ROM中的参数,只允许用户修改参数值,不能新增或删除。
- 列表中默认显示的ROM参数,均来自config文件夹下的nvds_config.json文件,并非从芯片NVDS中实时读取。ROM参数的详细说明,参见表 8。
- 点击界面右上方的
按钮,可打开自动换行功能,列表将换行显示。
- 利用界面右上方的筛选功能,可快速查找参数。
ID | 参数名称 | 描述 |
---|---|---|
0xC001 |
BD_ADDRESS |
设置蓝牙设备地址。 |
0xC002 |
DEVICE_NAME |
设置设备名称。 |
0xC007 |
LPCLK_DRIFT |
设置系统睡眠时钟精度等级SCA,取值范围为10 ~ 500,单位:ppm。 |
0xC085 |
CODED_PHY_500 |
设置默认Coded PHY,0为125 kbps,1为500 kbps。 |
0xC0B1 |
RF_XO_OFFSET |
设置时钟校准参数,范围为0x000 ~ 0x1FF。 |
初始化NVDS
配置NVDS参数之前,用户需指定NVDS区域的起始地址(以4 KB大小对齐)和占用的Sector数量。

若配置的NVDS区域与已存在的Firmware区域重叠,将无法完成NVDS初始化。

读取参数
GProgrammer支持一次性读取当前芯片NVDS中的所有参数,并将读取的参数信息在“Parameters”列表中展示。
为了防止将芯片NVDS中已存在的参数错误覆盖,导致User APP无法正常运行,建议用户完成连接操作后,首先执行Read All操作,以确认参数是否已存在NVDS中。
GProgrammer以Unfinished、Same、Different表示参数状态,提示用户列表中的参数是否已存在NVDS中。
- Unfinished状态:字体为黑色,表示从NVDS中读取到列表中没有的参数(如图 40中ID为0x4000的参数),或者NVDS中已有此参数但长度不相等(如图 40中ID为0x4001的参数)。
- Same状态:字体为绿色,表示NVDS中有已有此参数,并且长度相等、值相同(如图 40中ID为0x4002的参数)。
- Different状态:字体为橙色,表示NVDS中已有此参数,长度相等但值不相同(如图 40中ID为0x4003的参数)。

写入参数
写入参数时,需先勾选待写入的参数项,然后点击Write按钮,将参数值写入NVDS。

- 若参数状态为Unfinished,则不允许直接写入芯片。
- 勾选多个参数,然后点击Write按钮,可实现参数的批量写入。
- 若勾选的多个参数中包含Unfinished状态的参数,则Write按钮将被禁用,不允许写入。
新增USER参数
新增USER参数时,请按以下步骤操作:
- 点击
按钮,打开新增USER参数窗口。
- 指定参数ID、名称、描述、类型、长度、值以及数据显示格式。
图 42 新增USER参数 - 点击OK按钮确认,即完成新增参数。
- 新增参数的ID不能与列表中已有的参数ID相同。若相同,则将弹出警告提示信息,如图 43所示。
- 如果NVDS中无相同ID的参数,新增的参数被直接写入NVDS。
- 如果NVDS中有相同ID的参数,且参数长度相同,新增的参数值可被写入NVDS。
- 如果NVDS中有相同ID的参数,但参数长度不同,新增的参数值不会被写入NVDS,且参数状态显示为Unfinished。需修改参数长度,才能写入NVDS。
ID默认范围0x4000 ~ 0x40FF,可通过文件nvds_common_config.json自行调整有效范围为0x4000 ~ 0x7FFF,注意若范围配置过大将影响读取参数时间。

修改参数
用户可修改NVDS中的USER参数和ROM参数。
ROM参数可修改参数名称、描述以及参数值,并且参数值的修改不会导致长度的变化(变长字符串类型除外)。
USER参数状态为Same或Different时,可修改的内容与ROM参数一致;USER参数状态为Unfinished时,还可修改参数类型和参数长度。
修改参数时,首先双击参数打开参数编辑窗口,编辑参数信息,然后点击OK按钮将修改后的参数信息写入NVDS中。

若修改的参数状态为Unfinished,且修改后的长度与NVDS中的参数长度不一致,则执行写入操作后,参数仍将保持Unfinished状态,不会被写入NVDS。
删除USER参数
用户只可删除NVDS中的USER参数,不能删除ROM参数。
删除参数时,先勾选待删除参数,然后点击 图标,即可实现从NVDS中删除参数。

- 勾选多个User参数,然后点击
图标,可实现USER参数的批量删除。
- 如果勾选的多个参数中包含ROM参数,
图标将被置灰(即Remove功能被禁用),不允许删除。
导入与导出
GProgrammer支持将参数列表中的所选数据(参数名称、描述、长度及值)导出为json格式的配置文件,以及从本地导入配置文件加载到列表显示。

- 导入配置文件后,文件中的参数会覆盖当前列表中的参数。
- 修改参数后,请及时导出配置文件并保存,以避免重复修改。
- 若存在“Unfinished”状态的参数,则Export按钮将被禁用,不允许导出。
解析NVDS数据
GProgrammer提供NVDS数据解析功能Parse Para,支持解析NVDS区域数据及文件数据,方便用户分析NVDS参数。

- 解析NVDS区域数据:选择Internal Flash,并设置NVDS区域的起始地址(4 KB对齐)和占用的Sector数量。
待解析数据所在NVDS区域必须在配置的NVDS参数写入范围内(NVDS区域起始地址和占用Sector数量,详见初始化NVDS)。否则,会造成数据解析失败。
- 解析文件数据:选择Parse File,从本地添加已导出的NVDS区域数据文件。
- 仅支持解析非加密数据。
- 点击Parse按钮后,将按照Flash数据顺序进行参数解析与结果显示,参数值(Value in Chip)以小端模式显示。