CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

芯片配置

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

图 37 Chip Configuration页面

用户可配置存储在芯片NVDS区域的参数,包括USER参数和ROM参数。

  • USER参数:用户自定义的参数,允许用户新增、删除以及修改参数。
  • ROM参数:芯片ROM中的参数,只允许用户修改参数值,不能新增或删除。
说明:
  • 列表中默认显示的ROM参数,均来自config文件夹下的nvds_config.json文件,并非从芯片NVDS中实时读取。ROM参数的详细说明,参见表 8
  • 点击界面右上方的 按钮,可打开自动换行功能,列表将换行显示。
  • 利用界面右上方的筛选功能,可快速查找参数。
表 8 NVDS ROM参数
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数量。

图 38 设置NVDS起始地址

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

图 39 NVDS区域与固件区域重叠

读取参数

GProgrammer支持一次性读取当前芯片NVDS中的所有参数,并将读取的参数信息在“Parameters”列表中展示。

为了防止将芯片NVDS中已存在的参数错误覆盖,导致User APP无法正常运行,建议用户完成连接操作后,首先执行Read All操作,以确认参数是否已存在NVDS中。

GProgrammer以UnfinishedSameDifferent表示参数状态,提示用户列表中的参数是否已存在NVDS中。

  • Unfinished状态:字体为黑色,表示从NVDS中读取到列表中没有的参数(如图 40中ID为0x4000的参数),或者NVDS中已有此参数但长度不相等(如图 40中ID为0x4001的参数)
  • Same状态:字体为绿色,表示NVDS中有已有此参数,并且长度相等、值相同(如图 40中ID为0x4002的参数)。
  • Different状态:字体为橙色,表示NVDS中已有此参数,长度相等但值不相同(如图 40中ID为0x4003的参数)。
图 40 读取参数

写入参数

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

图 41 写入参数
说明:
  • 若参数状态为Unfinished,则不允许直接写入芯片。
  • 勾选多个参数,然后点击Write按钮,可实现参数的批量写入。
  • 若勾选的多个参数中包含Unfinished状态的参数,则Write按钮将被禁用,不允许写入。

新增USER参数

新增USER参数时,请按以下步骤操作:

  1. 点击 按钮,打开新增USER参数窗口。
  2. 指定参数ID、名称、描述、类型、长度、值以及数据显示格式。
    图 42 新增USER参数
  3. 点击OK按钮确认,即完成新增参数。
说明:
  • 新增参数的ID不能与列表中已有的参数ID相同。若相同,则将弹出警告提示信息,如图 43所示。
  • 如果NVDS中无相同ID的参数,新增的参数被直接写入NVDS。
  • 如果NVDS中有相同ID的参数,且参数长度相同,新增的参数值可被写入NVDS。
  • 如果NVDS中有相同ID的参数,但参数长度不同,新增的参数值不会被写入NVDS,且参数状态显示为Unfinished。需修改参数长度,才能写入NVDS。

ID默认范围0x4000 ~ 0x40FF,可通过文件nvds_common_config.json自行调整有效范围为0x4000 ~ 0x7FFF,注意若范围配置过大将影响读取参数时间。

图 43 参数ID重复

修改参数

用户可修改NVDS中的USER参数和ROM参数。

ROM参数可修改参数名称、描述以及参数值,并且参数值的修改不会导致长度的变化(变长字符串类型除外)。

USER参数状态为SameDifferent时,可修改的内容与ROM参数一致;USER参数状态为Unfinished时,还可修改参数类型和参数长度

修改参数时,首先双击参数打开参数编辑窗口,编辑参数信息,然后点击OK按钮将修改后的参数信息写入NVDS中。

图 44 参数编辑窗口
说明:

若修改的参数状态为Unfinished,且修改后的长度与NVDS中的参数长度不一致,则执行写入操作后,参数仍将保持Unfinished状态,不会被写入NVDS。

删除USER参数

用户只可删除NVDS中的USER参数,不能删除ROM参数。

删除参数时,先勾选待删除参数,然后点击 图标,即可实现从NVDS中删除参数。

图 45 删除User参数
说明:
  • 勾选多个User参数,然后点击 图标,可实现USER参数的批量删除。
  • 如果勾选的多个参数中包含ROM参数, 图标将被置灰(即Remove功能被禁用),不允许删除。

导入与导出

GProgrammer支持将参数列表中的所选数据(参数名称、描述、长度及值)导出为json格式的配置文件,以及从本地导入配置文件加载到列表显示。

图 46 导入文件
说明:
  • 导入配置文件后,文件中的参数会覆盖当前列表中的参数。
  • 修改参数后,请及时导出配置文件并保存,以避免重复修改。
  • 若存在“Unfinished”状态的参数,则Export按钮将被禁用,不允许导出。

解析NVDS数据

GProgrammer提供NVDS数据解析功能Parse Para,支持解析NVDS区域数据及文件数据,方便用户分析NVDS参数。

图 47 配置解析数据
  • 解析NVDS区域数据:选择Internal Flash并设置NVDS区域的起始地址(4 KB对齐)和占用的Sector数量。

    待解析数据所在NVDS区域必须在配置的NVDS参数写入范围内(NVDS区域起始地址和占用Sector数量,详见初始化NVDS)。否则,会造成数据解析失败。

  • 解析文件数据:选择Parse File,从本地添加已导出的NVDS区域数据文件。
说明:
  • 仅支持解析非加密数据。
  • 点击Parse按钮后,将按照Flash数据顺序进行参数解析与结果显示,参数值(Value in Chip)以小端模式显示。

扫描关注

打开微信,使用“扫一扫”即可关注。