芯片实验室(Silicon Labs)为其蓝牙无线解决方案发布的Gecko SDK和蓝牙协议栈SDK(也称为“新科技术”)将定期更新,通常每月更新一次,包括主要版本、次要修改版本和补丁版本。这些更新包括重要的错误修复、新功能,有时还支持最新的硬件平台(新部件或新开发板)。本文讨论了在将新的软件开发工具包版本下载到本地计算机后,如何更新现有的蓝牙项目,以帮助工程师加快设计过程。
1.下载新的SDK当您下载带有新的主要版本号或次要版本号(例如,从2.6.2更新到2.7.0)的SDK时,将在您的计算机上创建一个新的SDK文件夹,您可以从中选择在创建新项目时使用哪个SDK。您现有的项目将不会被触及。相反,当您将补丁下载到您的计算机时,它会自动覆盖您现有的SDK内容。例如,Gecko SDK 2 . 7 . 3在下载时会覆盖Gecko SDKv2.7.2。现在,如果您创建一个新项目,它将使用新的补丁版本创建。但是,您现有的项目仍将包含以前修补程序版本的文件。这是因为当您创建项目时,SDK文件将在项目创建过程中复制到项目中,并且SDK更新不会触及您已经创建的项目。(这是为了避免自动更新在早期补丁版本中测试过的项目。)下载并启用蓝牙软件开发工具包https://。silabs.com/documents/public/training/wireless/get-starting-Bluetooth-SDK . pdf 2。更新现有蓝牙项目如果您想要更新现有项目,有两种方法:
使用新的软件开发工具包创建一个新的SoC-清空项目,并合并由以前的软件开发工具包生成的对SoC-清空项目所做的所有更改。
替换现有项目中的所有SDK文件。
通常,我们强烈推荐第一种方法,因为项目生成器将负责复制所有文件,并完成运行最新SDK版本所需的所有配置。3.使用新创建的SoC更新-空项目。在编写蓝牙应用程序时,建议将应用程序文件与SDK文件完全分开。这就是为什么SoC空样本项目包含app.c /app.h文件,这些文件实现了应用程序,并且独立于底层的SDK版本。(当然,您可以添加更多实现应用程序代码的文件。)
在这种情况下,迁移到新的SDK版本的步骤是:
使用新的SDK版本创建一个新的SoC-空项目。
用您的应用程序覆盖app.c/app.h。
添加其他应用程序文件(如为蓝牙提供数据的处理外设和模块)。
将所需的SDK项目从更新的SDK文件夹复制到您的项目中(例如,如果您在项目中使用了le计时器,则必须将em_letimer.c/em_letimer.h复制到您的项目中)。
用关税及贸易总协定配置程序导入你的关税及贸易总协定数据库。找到右边的导入按钮并导入ga。来自旧项目的xml文件。按“生成”按钮,在您的项目中生成关贸总协定数据库代码。
您可能已在现有项目中申请修改init _ mcu.c、init _ board.c和init _ app.c。与其用旧项目的文件覆盖这些文件,不如合并您的更改。这很重要,因为这些文件不是独立于SDK的,而是在两个SDK版本之间。很重要!在此步骤后,请不要按关贸总协定配置器中的生成键,因为它可能会重新生成这些文件,您的更改可能会消失!
将附加的包含目录(例如,如果您为头文件创建了新文件夹,或将SDK文件复制到新文件夹中)和数据库添加到项目设置中。很重要!在此步骤后,请不要按关贸总协定配置器中的生成键,因为它可能会重新生成这些文件,您的更改可能会消失!
您现在可以构建项目了。
4.更新现有项目中的SDK文件您也可以使用另一种方法逐个更新项目中的所有SDK文件。在这种情况下,您应该执行以下步骤:
更新项目中的/硬件、/平台和/协议文件夹。由于项目中的这些文件夹仅包含SDK的/hardware、/platform和/protocol文件夹中的文件的子集(c : siliconlabsimplicity studiov4 developer sDKSGeckO _ SDK _ SuiteVx。y),这些文件应该一个一个地复制,而不是将整个文件夹复制到项目中!
至少检查主控制器、初始化微控制器、初始化电路板和初始化应用程序.如果它们包含自上次SDK版本以来的任何重要更新。创建一个新的SoC-空项目,并将新文件与现有项目进行比较。如果您看到任何未完成的更改,请将其纳入您的项目。
防控疫情的需求激发之下,代替人类送药、送餐送菜、消毒巡逻的无人车成了疫情期间的特殊尖兵。疫情过后,无人车配送是否...
2020-03-23 17:12市场分调研机构Omdia的最新数据分析显示,全球智能城市人工智能(AI)软件市场将从6 738亿美元(2019年),在2025年将增长到4...
2020-04-07 17:55现代电测技术日趋成熟,由于具有精度高、便于微机相连实现自动实时处理等优点,已经广泛应用在电气量和非电气量的测量中。
2020-04-07 17:56微软经常在游戏领域开辟路径,扮演开拓者的角色,这一点体现在很多方面,包括微软的尖端技术(DX12终极版 DX光追),硬件(X...
2020-04-07 17:57去年 12 月,波音为美国宇航局发射了未载人的 Starliner 航天器。然而由于技术问题,任务并没有按计划进行。作为 NASA ...
2020-04-07 17:58