0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Silicon Labs 来源:SiliconLabs 2020-07-01 09:28 次阅读

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项目,并将新文件与现有项目进行比较。如果您看到任何未由您完成的更改,请将这些更改合并到您的项目中。

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

    关注

    0

    文章

    6

    浏览量

    8003
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44730
  • Gecko
    +关注

    关注

    0

    文章

    6

    浏览量

    8251

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

文章出处:【微信号:SiliconLabs,微信公众号:Silicon Labs】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问最新版本的FOC SDK不支持ACIM电机吗?

    新版本的FOC SDK不支持ACIM电机吗?驱动采用的是 STEVAL-IHM034V2 演示板,请问那个版本支持ACIM,需要用到PFC.
    发表于 04-12 06:16

    华为云 GeminiDB 发布新版本,全面支持 Redis 6.2

    3 月上线的新版本,GeminiDB 已全面支持 Redis 6.2,用户可在华为云 GeminiDB 产品官网购买使用。新版本的 GeminiDB 发布了一系列增强功能,为用户带来云原生、高性能和易
    的头像 发表于 04-08 18:22 784次阅读
    华为云 GeminiDB 发布<b class='flag-5'>新版本</b>,全面支持 Redis 6.2

    关于博达透传工具新版本升级公告

    感谢您一直以来对博达智联自主研发的远程透传工具的支持与信任!为提升广大用户的操作体验,博达智联团队经过不懈努力,不断优化产品功能,将透传工具进行了全面的升级,即刻发出全新版本。相比于之前的版本
    的头像 发表于 03-19 08:33 100次阅读
    关于博达透传工具<b class='flag-5'>新版本</b>升级公告

    STM32CubeMX安装最新版本V6.9,Motor Control Workbench生成项目工程总是显示STM32CubeMX not found的原因?

    STM32CubeMX安装最新版本V6.9,但Motor Control Workbench生成项目工程,总是显示STM32CubeMX not found?
    发表于 03-14 07:28

    linux上更新了最新版本SDK软件后,出现\"/bin/sh:行1: riscv-nuclei-elf-objcopy:未找到命令\"怎么解决?

    linux上更新了最新版本SDK软件后,执行编译出现了 riscv-nuclei-elf-objcopy -O verilog “NICE_Test.elf” “NICE_Test.verilog
    发表于 01-10 06:34

    谷歌商店将推出两个新版本钥匙

    据悉,谷歌Titan Security Key的最新版本已经问世,可以与苹果、微软、谷歌和其他许多公司支持推出的新的无密码密钥技术一起使用。从现在开始,谷歌商店将推出两个新版本的钥匙,分别为
    的头像 发表于 11-20 16:55 407次阅读

    实战经验 | TouchGFX从旧版本更新到新版本的方法

    关键词:TouchGFX,版本升级 目录预览 1、引言 2、TouchGFX软件升级安装 3、工程项目由旧版本迁移新版本TouchGFX
    的头像 发表于 11-01 17:15 395次阅读

    求分享Kendryte Standalone SDK Programming Guide最新版

    请问下载区的开发指南是不是不是最新版的,希望能有新版的开发指南 有中文版的吗?还有请问SDKA
    发表于 09-15 07:03

    OpenHarmony 4.0 Beta2新版本发布,邀您体验

    了解新版本能力,我们准备了版本上新内容介绍及相关文档资源,快来体验吧~ 新增和增强的特性 ArkUI • 支持命名路由的能力,
    的头像 发表于 08-24 21:10 445次阅读

    OPC UA SDK辅助设计工具最新动态

    广受好评的测试用OPC UA客户端工具UaExpert迎来更新,此次新版本中最重要的更新是其C++ SDK 更新到最新版本 1.7.7等内容,我们将在正文中为您详细介绍。
    的头像 发表于 08-24 15:00 429次阅读
    OPC UA <b class='flag-5'>SDK</b>辅助设计工具最新动态

    EC-Master最新版本V3.2介绍

    EC-Master协议栈是一个经过精心设计和优化的主站协议栈产品,方便客户朋友更好地完成EtherCAT主站控制器的开发工作,支持在不同的嵌入式或非嵌入式(实时)操作系统上运行。现迎来最新版本V3.2更新
    的头像 发表于 08-18 14:00 826次阅读
    EC-Master最<b class='flag-5'>新版本</b>V3.2介绍

    新版本kicad的包含图层与绘制所有图层有什么区别?

    新版本kicad的包含图层与绘制所有图层有什么区别?
    发表于 05-22 14:31

    如何获得为在Cortex-A53上运行的QNX编译的最新版本

    GitHub 项目,他们说它是通过包装器集成为动态库 `librpmsg_lite-imx.so`,位于 `BSP/sr/lib/rpmsg_lite `文件夹。 如何获得为在 Cortex-A53 上运行的 QNX 编译的最新版本
    发表于 05-17 06:48

    支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了

    支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了
    的头像 发表于 05-16 15:30 535次阅读
    支持RT-Thread最<b class='flag-5'>新版本</b>的瑞萨RA2E1开发板终于要大展身手了

    实例课程 I 基于 RK3588 实例的最新版本 Cadence Allegro PCB 设计与仿真项目

    本课程基于CadenceAllegroPCB最新版本AllegroX进行RK3588实例项目设计,是一个完整的项目设计过程,力求通过实例项目的操作演示,将软件新的功能和技巧融入到工程师
    的头像 发表于 05-06 09:55 1019次阅读
    实例课程 I 基于 RK3588 实例的最<b class='flag-5'>新版本</b> Cadence Allegro PCB 设计与仿真<b class='flag-5'>项目</b>