实操演示-Proprietary产品的OTA升级实现方法

SiliconLabs 2021-01-21 00:00


为了帮助开发人员提升无线技术应用能力, Silicon Labs (亦称“芯科科技” ) 近期制作了一系列无线 OTA升级的实操演示视频,本则内容主要介绍 Proprietary SoC模式的 OTA升级实现方法,欢迎参阅下方摘要说明,并点击视频链接观看详细的操作流程:

 
Silicon LabsSDK内建的示例代码 Sensor可以作为 OTA的客户端, Sink作为 OTA的服务器端。通过添加功能代码客户端实现通过按键触发自动加入网络,并发起 OTA升级请求。服务器端实现自动建网,允许加网以及发送 OTA升级文件给客户端的功能。硬件上采用 2块功能齐全,支持 BluetoothProprietary协议并拥有 J-Link调试器的 Thunderboard BG22。它们价格亲民,非常适合爱好者做开发使用。
 

首先我们需要把两块Thunderboard通过USB线连接到电脑,运行Simplicity Studio 5开发环境。本次的教学主要分为三个步骤:

  1. Proprietary OTA 客户端的实现方法
  2. Proprietary OTA 服务器端的实现方法
  3. Proprietary OTA 升级的实际过程

 
Proprietary OTA 客户端的实现方法
IDE的左上可以看到两块 Thunderboard列表,选中其中一块,点击右侧的建立新工程按钮。在弹出的视图左侧勾选 Proprietary,然后在右侧列表中找到 SoC Sensor示例代码,按 Next按键,再按 Finish按键 Sensor工程就被生成。
 
接著点开 Sensor工程,双击 Sensor.Slcp打开工程配置文件,然后点击 Software Components标签。在搜索栏键入: “bootloader”安装 OTA相关的几个器件,然后切换回 Overview标签。点击 Force Generation产生 OTA相关的代码,打开 app_process.c文件,其中 sl_button_on_change函数在按键时会被调用添加一个自定义的函数调用 halButtonlsr函数。
 
打开 app_callback.c添加一个按键的事件,并为这个事件分配处理函数。然后再添加 halButtonlsr函数在有按键时激活事件处理函数。接着添加按键事件处理函数进入函数,首先禁止事件活跃避免冲突,然后对 Bootloader接口初始化,并删除用来存放 OTA升级文件的存储区。接着查看网络状态如不在网则执行加网动作等待 2秒再返回处理函数。
 
如果已经入网则向服务器发送 OTA升级请求,这里 OxA5是自定义的 OTA 升级命令。然后还有加网函数,主要是配置好参数调用加网 API 即可。然后点击菜单上的小锤子按钮来编译整个工程,耐心等待编译完成可以看到左侧文件列表中多了一个 debug的目录。打开目录可以看到生成的 Sensor.s37hexbin文件。之后还需要一个 OTA升级的 GBL文件,点击 connect_creategbl_image_bat就会生成 sensor_gbl文件在 debug目录下。至此 ProprietaryOTA Client的部分完成。
 
Proprietary OTA 服务器端的实现方法
当开始生成 sinkserver 的工程时,返回 IDE主界面,选择另一块 Thunderboard点击右侧的建立新工程的按钮。勾选 Proprietary然后找到 SoCSink 示例代码。按 Next 按键再按 Finish按键生成 Sink 工程。点开 Sink 工程并双击 sink.slcp打开工程配置文件,然后点击 Software Component 标签在搜索栏中键入 “bootloader”,安装 OTA相关的几个器件,然后切换回 Overview标签。
 
点击 Force Generation 产生 OTA相关的代码。打开 app_callback.c添加一个 Commission的事件,并为这个事件分配处理函数并在函数运行一秒后激活事件处理函数来处理 OTA 升级需求。之后关于 Commission事件处理函数,首先禁止事件活跃避免冲突,然后对 Bootloader的接口进行初始化,检验存储区里的 OTA升级文件是否有效,接着建立网络并开放网络。建网函数主要配置好参数,调用内部的 API。开发网络打开一个 240秒的窗口,允许 Sensor客户端加入网络。然后在 incomingmessage callback函数里面添加对客户端发起的 OTA升级请求的处理。在收到请求后读取存储区的升级 GBL文件并向客户端发送。
 
这个解析的函数是为了获取其大小传递参数给 API来发送 OTA GBL文件。在 GBL 文件传送到客户端完成后服务器端需要发送一个重启命令给客户端。客户端重新进入 Bootloader的模式 , 把接收到的文件更新到应用程序区。
 
完成 OTA升级这里需要修改一个 SDK内部文件 sl_connect_ota_unicast_bootloader_test.c。添加一个自定义的函数调用 otaUnicastStartDistribution。这个函数负责向客户端发送重启命令,点击菜单上的小锤子开始编译 Sink 工程,耐心等待编译完成后可以看到 Debug目录下生成了 Sink.s37hink bin文件。至此 ProprietaryOTA Server的部分已经完成。
 
Proprietary OTA 升级的实际过程
把编译好的 sensorsink OTA GBLBootloader分别烧录到 Thunderboard上。这里为了方便在不同协议中调试 OTA 功能,采用了 JSON来配置 并且通过 Python解析 JSON文件烧录相应的 image到不同的板子上。上电后服务器端建网并开发网络,按客户端的按钮,客户端加入网络,发起 OTA升级请求。服务器端传送 OTAGBL 文件给客户端。传送完成后客户端重启并更新应用程序完成整个 OTA升级过程。
 
您也可以扫描以下二维码,关注 Silicon Labs社交媒体平台

评论
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 170浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 52浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 73浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 86浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 86浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 101浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 70浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 41浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 45浏览
  • 在电子技术快速发展的今天,KLV15002光耦固态继电器以高性能和强可靠性完美解决行业需求。该光继电器旨在提供无与伦比的电气隔离和无缝切换,是现代系统的终极选择。无论是在电信、工业自动化还是测试环境中,KLV15002光耦合器固态继电器都完美融合了效率和耐用性,可满足当今苛刻的应用需求。为什么选择KLV15002光耦合器固态继电器?不妥协的电压隔离从本质上讲,KLV15002优先考虑安全性。输入到输出隔离达到3750Vrms(后缀为V的型号为5000Vrms),确保即使在高压情况下,敏感的低功耗
    克里雅半导体科技 2024-11-29 16:15 128浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 105浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 75浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 106浏览
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 171浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 71浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦