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

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

3天内不再提示

使用MCUXPresso插件开发Zephyr

恩智浦MCU加油站 来源:恩智浦MCU加油站 2024-11-28 09:41 次阅读

应广大读者朋友的热情邀请,我们特别策划了“Zephyr领进门”系列介绍(共十篇),旨在为大家深度剖析Zephyr OS——这一备受瞩目的开源实时操作系统。从使用MCUXPresso插件进行开发的基础知识,到构建工具的详解,再到环境安装的步骤指导,我们将一步步带你走进Zephyr的世界。此外,我们还准备了如何从0写自己的helloWorld示例来详细介绍调试技巧,助你轻松上手并深入掌握。

背景与发展

Zephyr OS的开发始于2016年,旨在提供一种适用于低功耗设备的实时操作系统。随着物联网(IoT)技术的迅速发展,Zephyr OS逐渐演变为一个由Linux基金会主办的社区驱动项目,支持多种硬件架构,包括ARM Cortex-M系列、x86、RISC-V等。Zephyr的设计理念是为各种资源受限的设备提供一个高效、可扩展的操作系统解决方案。

随着时间的发展,ZephyrOS的开发得到了全球开发者和企业的支持,形成了一个活跃的社区。

主要特性

1. 轻量级设计

Zephyr OS的内核非常小巧,通常在几KB到几十KB之间,这使得它能够在极低功耗和资源受限的环境中运行。其设计目标是尽量减少内存使用和CPU占用,使得开发者能够在小型微控制器上运行复杂的应用程序。

2. 模块化架构

Zephyr OS采用模块化设计,允许开发者根据具体需求选择和配置功能模块。开发者可以通过Kconfig系统轻松启用或禁用特定功能,从而优化系统性能和资源使用。这种灵活性使得Zephyr能够适应多种不同的应用场景。

3. 多线程与调度

Zephyr OS支持多线程编程,提供优先级调度机制,允许开发者创建响应迅速的应用程序。其调度算法能够有效管理多个任务,确保实时性和稳定性。开发者可以为每个线程设置优先级,从而优化任务的执行顺序,满足实时应用的需求。

4. 设备驱动支持

Zephyr OS内置了多种设备驱动程序,支持各种传感器通信模块和外设。通过统一的API,开发者可以方便地与硬件交互,简化开发过程。此外,Zephyr还支持设备树(Device Tree)机制,使得硬件描述更加灵活,便于移植和扩展。

5. 网络支持

Zephyr OS支持多种网络协议,包括IPv4、IPv6、Bluetooth、LoRaZigbee等。这使得它能够轻松连接到各种网络,适应不同的应用场景。Zephyr的网络堆栈经过优化,能够在资源有限的设备上高效运行。

6. 安全性

随着IoT设备的普及,安全性成为一个重要问题。Zephyr OS在设计时考虑了安全性,提供了多种安全功能,如安全启动、加密、访问控制等。此外,Zephyr还支持TLS/SSL协议,确保数据传输的安全性。

开发环境

Zephyr OS提供了一套完整的开发工具链,包括SDK、编译器和调试工具。开发者可以使用C或C++编写应用程序,并通过Zephyr的命令行工具进行构建和调试。1. Zephyr SDK

Zephyr SDK是一个跨平台的开发环境,包含了构建Zephyr应用所需的所有工具。它支持Linux、Windows和macOS等操作系统,方便开发者在不同平台上进行开发。SDK中包含了编译器、调试器、模拟器等工具,帮助开发者快速构建和测试应用。

2. 示例应用

Zephyr OS提供了丰富的示例应用程序,帮助开发者快速上手。这些示例涵盖了从简单的LED闪烁到复杂的传感器数据采集等多种应用场景。开发者可以根据这些示例学习如何使用Zephyr的API和功能,加速开发过程。

3. 文档与支持

Zephyr OS提供了详细的官方文档,包括API参考、开发指南和教程,帮助开发者理解和使用Zephyr。此外,社区也提供了多种支持渠道,如邮件列表、论坛和社交媒体,开发者可以在这些平台上交流经验、解决问题。

NXP与Zephyr

恩智浦(NXP)作为Zephyr项目的创始成员之一,一直以六大白金会员的身份持续坚定地支持该项目。Zephyr项目的特点与恩智浦面向边缘连接设备的产品组合高度契合,特别是在安全、互联且具备安全认证的设备方面。目前,多个恩智浦平台已获得恩智浦客户和Zephyr社区的共同支持。为了进一步推动产品系列中超级平台的更全面支持,恩智浦正在加大投入。这不仅为低端部件提供了更便捷的支持路径(例如,从i.MX RT1064平台衍生出对i.MX RT1020的支持等)。当然除了NXP官方对于不同嵌入式平台的支持,一些社区和爱好者们也为NXP平台的Zephyr支持贡献了自己的一份力量。

NXP与Zephyr开发模式

恩智浦(NXP)及社区共同贡献并维护了Zephyr的upstream工作组。NXP积极参与upstram工作组的开发工作,并在MCUXpresso SDK的基础上进行开发。SDK的裸机驱动程序和CMSIS设备头文件已被贡献到上游。通过Shim驱动程序将SDK接口适配到Zephyr接口,以最大化代码重用。此外,所有经过推送的Zephyr代码,都会在NXP的boardfarm中进行硬件测试以保证代码的可靠性以及稳定性。

当新产品发布后,NXP会首先提供新产品的Zephyr基础支持,所谓基础支持可以理解为Zephyr的最小系统,如下表所示,包括系统内核、控制台以及一些基础驱动的支持:

Kernel Threads
Semaphores
Mutexes
Condition Variables
Work queues
Data Passing
Memory Heaps
Memory Slabs
Hardware Stack Protection
Userspace
Drivers UART
GPIO
Timer - SYSTICK
Console UART
RTT
Logging UART
RTT
Shell UART
RTT

从2021年开始,恩智浦就已经遵循此规范进行开发,从基础支持开始,逐步推进,并最终推出完整的外设支持:

第一个里程碑是在NXP的新产品发布后,在最近的Zephyr版本中进行基础版本的开发以及代码推送。

第二个里程碑是完整的代码发布。

当然,NXP欢迎Zephyr社区和客户为任何恩智浦平台贡献和增强驱动程序代码。

最终,我们会将完整的代码支持全部推送到Zephyr主线中,以FRDM-K64F为例,全平台支持。

NXP的Zephyr支持

当使用NXP的产品开发Zephyr并遇到问题时,可以通过公共的Zephyr社区进行支持-NXP Zephyr Community。这样可以将所有公开讨论和解决方案集中在同一位置,并且客户可以从整个Zephyr社区的帮助中受益。

此外,恩智浦也提供了私人支持。恩智浦的公共社区还中有一个专门的Zephyr页面,恩智浦的支持团队会实时监控Zephyr社区,以帮助客户解决特定于恩智浦平台的问题。 当然也可以通过正常的支持渠道,联系CAS和DFAEs获得Zephyr支持。

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

    关注

    3

    文章

    1387

    浏览量

    40527
  • 物联网
    +关注

    关注

    2914

    文章

    45118

    浏览量

    378938
  • 操作系统
    +关注

    关注

    37

    文章

    6927

    浏览量

    124022
  • Zephyr
    +关注

    关注

    0

    文章

    29

    浏览量

    6028

原文标题:Zephyr领进门系列:使用MCUXPresso插件开发Zephyr

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    恩智浦解读Zephyr log系统的使用 Zephyr的shell和log功能介绍

    之前 我们从 0 开始新建了一个简单的 Zephyr 应用- 从0开始打造属于自己的HelloWorld ,本期就 带着大家熟悉一下 Zephyr 的 shell 和 log 系统。 首先给大家介绍
    的头像 发表于 02-27 09:19 309次阅读
    恩智浦解读<b class='flag-5'>Zephyr</b> log系统的使用 <b class='flag-5'>Zephyr</b>的shell和log功能介绍

    恩智浦发布新版MCUXpresso SDK

    对于使用恩智浦无线微控制器 (如RW61x和MCX W) 及软件平台的开发人员,在GitHub发布的MCUXpresso SDK 24.12.00是向前迈出的重要一步。最新的SDK版本得到了显著的改进,旨在加速产品开发,增强代码
    的头像 发表于 02-21 14:20 206次阅读
    恩智浦发布新版<b class='flag-5'>MCUXpresso</b> SDK

    IAR加入Zephyr项目,强化开源协作承诺

    全球领先的嵌入式系统开发软件解决方案供应商IAR Systems近日宣布,已正式加入由Linux基金会托管的Zephyr项目,并成为该项目的银牌会员。这一举措标志着IAR对开源社区的深度承诺和持续
    的头像 发表于 02-17 09:55 132次阅读

    IAR正式加入Zephyr项目,成为银牌会员

    全球领先的嵌入式系统开发软件解决方案供应商IAR,近日宣布正式加入由Linux基金会托管的Zephyr项目,并荣膺银牌会员身份。这一举措标志着IAR在嵌入式行业的又一重要布局,展现了其对开源社区
    的头像 发表于 02-12 14:25 250次阅读

    IAR正式加入Zephyr项目

    全球领先的嵌入式系统开发软件解决方案供应商IAR宣布,正式加入Zephyr项目,成为银牌会员。Zephyr是由Linux基金会托管并广泛应用于嵌入式行业的开源实时操作系统(RTOS),已得到众多
    的头像 发表于 02-12 14:19 217次阅读

    JetBrains IDE上架开发微信小程序的官方插件

    一直以来,小程序开发者必须安装第三方插件,才能在 JetBrains IDE 中进行小程序开发。在 JetBrains Marketplace 上,有关插件已有约 50 万下载量。 对
    的头像 发表于 01-16 17:15 222次阅读
    JetBrains IDE上架<b class='flag-5'>开发</b>微信小程序的官方<b class='flag-5'>插件</b>

    MCUXPresso for VS Code插件 从0开始打造HelloWorld

    上一篇中Zephyr的Hello 2025,Hello World,小编为大家介绍了使用MCUXPresso for VS Code插件来导入一个Hello World工程。 相信一定有玩家跃跃欲试
    的头像 发表于 01-16 09:20 775次阅读
    用<b class='flag-5'>MCUXPresso</b> for VS Code<b class='flag-5'>插件</b> 从0开始打造HelloWorld

    使用MCUXpresso for VS Code插件开发Zephyr的hello world

    本期来到Zephyr实战经验演练,小编带着大家一起使用MCUXpresso for VS Code插件开发一个属于Zephyr的hello
    的头像 发表于 01-03 09:21 696次阅读
    使用<b class='flag-5'>MCUXpresso</b> for VS Code<b class='flag-5'>插件</b><b class='flag-5'>开发</b><b class='flag-5'>Zephyr</b>的hello world

    Zephyr领进门系列:MCUXPresso for VS Code插件安装

    一套PC端的Zephyr OS开发环境。话不多说,开整! 1.  安装VS Code 相信不少小伙伴已经将VS Code当作装机必备工具了,无论是做代码编辑还是说通过安装形形色色的插件进行功能扩展
    的头像 发表于 12-19 09:53 1348次阅读
    <b class='flag-5'>Zephyr</b>领进门系列:<b class='flag-5'>MCUXPresso</b> for VS Code<b class='flag-5'>插件</b>安装

    Zephyr的构建工具

    给大家介绍一下Zephyr的构建工具们:
    的头像 发表于 12-05 09:51 894次阅读
    <b class='flag-5'>Zephyr</b>的构建工具

    深入解析Zephyr RTOS的技术细节

    Zephyr OS在嵌入式开发中的知名度逐渐增加,新的微控制器和开发板都支持Zephyr。本文将深入讨论Zephyr RTOS的技术细节。
    的头像 发表于 10-22 16:47 916次阅读
    深入解析<b class='flag-5'>Zephyr</b> RTOS的技术细节

    请问如何将Zephyr OS移植到KIT_PSOCE84_EVK?

    我正试图将 Zephyr OS 移植到 KIT_PSOCE84_EVK,但官方的 Zephyr 支持板列表中并没有列出它。 所以,看来我得自己移植了。 是否有针对 Zephyr OS 的移植指南或支持?
    发表于 05-30 07:32

    MCXN947与Zephyr的跨界合作 嵌入式技术的新飞跃

    MCX N947成功初步移植Zephyr,标志着嵌入式技术的新飞跃,为物联网应用注入更强动力与智能。 简介 搭建 Zephyr 环境 参考Zephyr Getting Started。在这
    发表于 05-23 09:19 713次阅读
    MCXN947与<b class='flag-5'>Zephyr</b>的跨界合作 嵌入式技术的新飞跃

    鸿蒙实战开发学习:【HiView插件开发

    Hiview是一个跨平台的终端设备维测服务集,其中是由插件管理平台和插件实现的各自功能构成整套系统。 本文描述了hiview插件开发的全部流程。
    的头像 发表于 03-12 11:52 1521次阅读
    鸿蒙实战<b class='flag-5'>开发</b>学习:【HiView<b class='flag-5'>插件</b><b class='flag-5'>开发</b>】

    瑞萨正式加入Zephyr项目

    近日,瑞萨正式加入Zephyr项目,成为银级会员。Zephyr是Linux基金会的开源项目,旨在为面向未来且资源受限的设备建立安全、互联且灵活的实时操作系统。Zephyr设计来源于开发
    的头像 发表于 03-09 17:43 1933次阅读