TWS 之 setting 配置分析

  • 概述

最近在做中科蓝讯的开发过程中,其中有一个很方便的功能就是可以通过上位机 Downloader 中的配置界面对一些常用的功能进行配置,例如不同状态下的 LED 配置,配置休眠时间等,今天我们就来详细的分析一下这个功能是如何完成的

  • 配置功能的用法以及与程序的关系

在项目开发中,对于上位机中的配置我们经常用到的,界面如下图所示:

在配置完功能之后,我们会选择保存对应的配置文件,可以在对应的 SDK 路径中的的 Out -> bin-> Settings 文件夹中会有一个 setting 文件在里面。具体如下图所示:

其中这个 Setting 文件就是我们后面在使用 Downloader 软件在进行烧录时会使用到的文件了。在烧录的过程中,上位机会将之前 SDK 中生成的 bin 文件以及这个 Setting 文件一起烧录到芯片中。其中里面是如何将 Setting 文件里面的功能与程序中的功能对应起来,我们可以看一下 SDK 代码代码里面的内容了

我们打开 SDK 的源码后,可以看到有一个 xcfg.h文件,这个就是与我们的 Setting 文件相关的,我们可以看一下里面的注释,如下图所示:

这是根据 xcfg.xm 文件生成的一个 h 文件,文件里面就是初始化了一个很大的结构体,其中的结构体成员是对应 Setting 中功能选项的。下图是 xcfg.xm 文件一部分内容:



可以看到里面的内容都是能一一对应的,其中这个 xm 文件就是连接了代码中的xcfg.h内容与上位机setting 的内容了

具体过程如下:

  1. 在编译器中,编译器会跟xm 文件生成一个对应的 xcfg.h 文件。
  2. 在xm 文件就是主要的设置了上位机中我们可以配置的功能,在文成配置并生成了 Setting 文件。
  3. 在上位机进行烧录时,会将编译好的 bin 文件以及 setting 文件一起烧录到芯片中。
  4. 在代码运行时,代码会将 setting 文件中的数据与h 文件中的结构体进行获取以及配置,具体函数如下图所示:
  5. 在运行时就是根据这个结构体里面的配置完成不同功能的配置,从而实现根据上位机来配置功能,减少代码开发成本。
  • 结语

在通过上述的讲解中,我们可以看到 setting 文件的用法以及功能的实现流程。相应的我们知道了流程之后,我们也可以根据自己的需要通过修改 xcfg.xm 文件以及 SDK 的代码,从而实现在上位机上配置我们自定义的功能,这个内容我们会在以后的博文中进行进一步的分析,敬请期待。

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论