目前的位置: 首页 学术信息 正文

ZDS 2023技术报告分享第32篇:基于zephyr的微控制器SDK的开发与维护


前言

2023年Zephyr开发者大会(ZDS)于6月27日至30日在捷克布拉格隆重举行。与以往两次不同,本次ZDS由Zephyr项目规划和管理,并作为首届嵌入式开源峰会(EOSS)的一部分进行。在这个令人期待已久的盛会中,全球Zephyr开发者们共同探讨了Zephyr实时操作系统(RTOS)的最新技术与发展趋势。作为一款开源、灵活和可扩展的嵌入式实时操作系统,Zephyr项目在2014年由英特尔发起,2016年作为Linux基金会项目正式面向公众启动,得到了全球范围内的广泛关注和采用。


ZDS 2023共70余个技术报告,涵盖了使用指导与展示、新功能与技术、架构修改与操作系统、多核异构与虚拟化、模拟器、测试、工业流程与代码管理、安全性、应用案例、工具与调试等丰富多样的内容。湖大嵌入式实验室的小伙伴们将对本次大会的所有技术报告进行逐一收集、整理与分享,尽最大努力为Zephyr开发者提供ZDS 2023技术报告的开发经验、实践成果以及解决方案的参考。



今天分享第32篇技术报告,由毕方琦整理,题目为:

“基于zephyr的微控制器SDK的开发与维护”



作者简介

Carles Cufí

Nordic半导体工程师

Nordic Semiconductor ASA



文章简介

本文主要介绍了Nordic公司,Nordic的IC发展,Nordic IC的广泛应用,Nordic Soc的进展,开发SDK的问题以及解决问题方案,将SDK应用到开源操作系统中,选择Zephyr的原因,对SDK应用进行风险评估,以及对SDK应用的相关管理技术更新。

Nordic产品:

以上产品都支持Zephyr。



Nordic Soc的发展

嵌入式音频系统的结构图:

性能提升:



Nordic 软件

  • 与大多数芯片供应商一样,Nordic为其ic免费提供软件开发工具包(SDK)

  • SDK包括在Nordic ic上开发、编程和调试应用程序所需的一切

  • 多年来,SDK架构并没有像硬件那样快速发展

  • 随着每一代硬件的产生,软件的复杂性都在显著增长



开发SDK的问题

  • 缺乏可扩展性:每种技术都有自己的SDK(蓝牙、Mesh、Thread、IoT等),以及并非所有sdk都支持所有ic

  • 低效的发展模式:没有通用的代码库,没有足够的工程师来开发它

  • 用户更新SDK的复杂性高

  • 缺乏现代软件框架:没有高级构建和配置系统,依赖于ide

  • 过时的分销模式:SDK以.zip文件的形式提供供下载,以及用户无法看到开发过程



对应问题的解决方案

  • 在Nordic开始寻找新的SDK架构前,并在前段时间于Zephyr上发布了

  • 包括我在内的工程师开始了一项预研究,以评估使用RTOS或现有软件框架作为未来SDK基础的可行性

  • 评估了专有和开源的RTOS,但很快就决定开源将是mcu软件的未来

  • 研究开源的实时操作系统,寻找解决方案



选用Zephyr的原因

  • Linux基金会下的开放治理

  • 拥有跨体系的结构

  • 专注于小占用空间和受限的设备

  • 用有许可,Apache 2.0

  • 非常高的代码质量

  • 严格的代码审查和精英管理



风险评估

  • 采用Zephyr及其部分开发模型是对以前专有模型的颠覆性突破

  • 围绕Zephyr和mcu的开源存在大量的不确定性

  • 软件知识产权也有很大的问题



nRF连接SDK(NCS)



单一代码库

  • 在以前的sdk中,专有的ide(例如Keil或IAR)通常会提供构建和配置系统就缺点是:这使得拥有单一代码库变得很困难,导致每种技术产生多个不兼容的sdk

  • 相反,在NCS中,Zephyr中使用的行业标准工具被利用:用Cmake来编译构建,Kconfig用于配置软件构建,用于描述硬件的Devicetree

  • NCS使用这些工具,以及Zephyr自身的可扩展性,来维护一个可扩展的、涵盖所有技术和Nordic家族的单一代码库SDK



从.zip文件更新到git

  • 以.zip文件的形式交付SDK有几个主要缺点: 没有版本控制意味着更新到新版本是有问题的,用户无法看到开发历史,以及在两个版本之间没有中间修复或特性

  • 使用GitHub进行开发和分发对于开发人员和用户来说都更加方便: 更容易更新,使用Git和west操作,git让历史记录可以浏览




上一条:ZDS 2023技术报告分享第33篇:把coredumps添加进Zephyr调试工具包 下一条:ZDS 2023技术报告分享第31篇:在基于ARM Cortex®-A的设备上使用Zephyr RTOS启用SOF

关闭

嵌入式与网络计算湖南省重点实验室
版权所有 © 2023 湖南大学