应用指南-如何在Gecko SDK新版本中迁移蓝牙项目

描述

Silicon Labs(亦称“芯科科技”)针对旗下蓝牙无线解决方案发布的Gecko SDK和蓝牙协议栈SDK会定期更新,通常是每月更新一次,包括主要版本、小修改版本和补丁版本。这些更新包含重要的bug修复、新特性,有时还会添加对最新硬件平台(新部件或新开发板)的支持。本文讨论了用户在将新的SDK版本下载到本地电脑后,如何更新现有开发的蓝牙项目,以帮助工程师加速设计流程。

 1. 下载新版SDK当您下载带有新的主版本号或副版本号的SDK(例如,从v2.6.2更新到v2.7.0)时,将在您的电脑上创建一个新的SDK文件夹,从那里您可以选择在创建新项目时使用哪个SDK。您已经存在的项目将不会被触动。   与此相反,当您将补丁下载到计算机时,它将自动覆盖您现有的SDK内容。例如,Gecko SDK v2.7.3将在下载时覆盖Gecko SDKv2.7.2。现在,如果您创建了一个新项目,它将使用新的补丁版本创建。但是,您已经存在的项目仍然会包含来自上一个补丁版本的文件。这是因为当您创建一个项目时,SDK文件将在项目创建期间复制到项目中,并且SDK更新不会触及您已经创建的项目。(这是为了避免自动更新已经在早期补丁版本中测试过的项目。)  下载并启用Silicon Labs的蓝牙SDKhttps://www.silabs.com/documents/public/training/wireless/getting-started-bluetooth-sdk.pdf  2. 更新已有的蓝牙项目如果你想更新一个已经存在的项目,有以下两个办法:

用新的SDK创建一个新的SoC-Empty项目,并合并通过前版本SDK所生成的SoC-Empty项目上做的所有更改。

替换现有项目中的所有SDK文件。

通常,我们强烈建议采用第一种方式,因为项目生成器会负责复制所有文件,并完成最新SDK版本运行所需的所有配置。  3. 使用新创建的SoC-Empty项目进行更新建议在编写蓝牙应用程序时,将应用程序文件与SDK文件完全分离。这就是为什么SoC-Empty示例项目包含app.c /app.h文件,这些文件实现了应用程序,并且独立于底层SDK版本。(当然,可以添加更多实现应用程序代码的文件。)  

在这种情况下,迁移到新的SDK版本的步骤是:

使用新的SDK版本创建一个新的SoC-Empty项目。

用您的应用程序覆盖app.c/app.h。

添加其他应用程序文件(例如处理外设和为蓝牙提供数据的模块)。

将需要的SDK项目从更新的SDK文件夹复制到你的项目中(例如,如果你在项目中使用LE timer,你必须将em_letimer.c / em_letimer.h复制到你的项目中)。

用GATT配置器导入您的GATT数据库。找到右侧的import按钮,并从旧项目导入ga .xml文件。按Generate按钮以便在你的项目中生成GATT 数据库代码。

您可能在您已经存在的项目中针对init_mcu.c, init_board.c, init_app.c申请了修改,与其用旧项目的文件来覆盖这些文件,不如合并您所做的更改。这一点很重要,因为这些文件不是独立于SDK的,而且在两个SDK版本之间。重要!在此步骤后请不要在GATT配置器中按Generate键,因为它可能会重新生成这些文件,而您的更改可能会消失!

在项目设置中添加附加的include目录(例如,如果您为自己的头文件创建了一个新的文件夹,或者将SDK文件复制到一个新的文件夹中)和数据库。重要!在此步骤后请不要在GATT配置器中按Generate键,因为它可能会重新生成这些文件,而您的更改可能会消失!

现在可以构建项目了。

4. 更新现有项目中的SDK文件您也可以采用另一种方法,一个一个地更新项目中的所有SDK文件。在这种情况下,你应该执行下列步骤:

更新项目中的/硬件、/平台和/协议文件夹。由于项目中的这些文件夹只包含SDK的/硬件、/平台、/协议文件夹中的文件子集(C:SiliconLabsSimplicityStudiov4developersdksgecko_sdk_suitevX.Y),所以应该逐个复制这些文件,而不是将整个文件夹复制到项目中!

至少检查main.c, init_mcu.c, init_board.c,init_app.c。如果它们包含来自上一个SDK版本以来的任何重要更新,则为init_app.c。创建一个新的SoC-Empty项目,并将新文件与现有项目进行比较。如果您看到任何未由您完成的更改,请将这些更改合并到您的项目中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分