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

ZDS 2023技术报告分享第19篇:STM32上的Zephyr:你需要了解的内容


前言

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


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


今天分享第19篇技术报告,题目为:

STM32上的Zephyr:你需要了解的内容”




作者简介

1C64

Erwan Gouriou


Erwan是STMicroelectronics公司的员工,同时也是Linaro组织的成员,拥有超过15年的嵌入式软件开发经验。自2016年底以来,他一直在Zephyr项目中做出贡献,涉及到设备树引入、板级配置以及外设模块等通用领域,但他主要专注于STM32平台,也是该平台的子系统维护者。




文章简介

本文将探讨如何通过设备树配置STM32的时钟设置,以及STM32设备上的电源管理支持状态。同时也会讨论如何使用STM32和TF-M固件的支持情况。这些是在Zephyr中涉及STM32设备时最常被问到的问题之一。在本文中,STM32维护者Erwan将解答这些问题,提供使用Zephyr在STM32上时尽可能少出现问题所需的所有信息。此外,本文也将回顾整个STM32子系统的支持状况,以及相关的未来挑战。




Zephyr中的STM32支持

  • 380多个贡献者发布了5000多个提交

  • 支持130多种单板

  • 支持180多种SoC(19系列)

  • 支持40多种外设

  • 支持TF-M,USB,Ethernet,CAN,BLE,LoRa等

  • 集成STM32Cube HAL

  • STM32CubeMCU软件包存储在zephyr hal_ stm32模块下

  • STM32Cube API用于Zephyr驱动程序开发

  • 支持混合使用Zephyr和STM32Cube APIs

E76F




配置STM32开发板

1. 选择STM32开发板

识别受支持的STM32部件

  • 系列:STM32H7

  • SoC版本:B3

  • 引脚数:X

  • SoC内存大小:I

  • 在dts/arm/st/h7中,查找stm32h7b3Xi.dtsi

1855D


添加未支持的STM开发板

  • 添加内存大小变量

    2AAA5

  • 添加SoC变量

2E353



2.时钟配置

红色圆圈表示固定时钟,蓝色圆圈表示锁相环(PLL),黄色圆圈表示核心源时钟,灰色圆圈表示外设总线速度。

2C11A


使用设备树对STM32时钟进行配置。

E574

8DA4


 



3.配置外设

479DA


常用STM32设备设置:pinctrl

使用pinctrl子系统配置单板上一个或者一组引脚的功能和特性。

DDA7

  • 如果出现下面的错误,可以运行west update

6984

  • Pinctrl也可用于启用MCO


常用STM32设备设置:DMA

5B5D

  • DMA基于“dmas”属性启用

  • 配置取决于DMA兼容:


  • st,stm32-dma-v1

  • st,stm32-dma-v2

  • st,stm32-dma-v2bis

  • st,stm32-dmamux


  • 注意:



  • 计划在.dtsi文件中配置DMA设备属性

  • 必须直接在驱动程序中检查DMA支持





常用STM32设备设置:域时钟

可以使用 48MHz时钟、特定的PLL输入输出、持续处于停止模式的时钟等。

45DB




电源管理

SoC级别

  • PM处理按系列提供

9EA0

  • 当核心时钟门控时,需要可用的内核时钟源

3A8E


设备级别

  • GPIO、UART、I2C中的CONFIG_ PM_ DEVICE支持

  • STM32 PM样例上提供PM样例

  • LP-UART设备配置示例:

1FD6E


Trusted Firmware-M

Trusted Firmware-M(TF-M)是IoT安全框架的参考实现。它定义并实现了一个架构和一组软件组件,旨在解决物联网产品中的一些主要安全问题。

66B0




下一步计划

  • 对于电源管理(PM)的扩展和完善

  • 在外部存储器上实现的XIP功能

  • 坚持对于Zephyr项目的持续发展和进步,比如USB,DMA等

上一条:第21届CCF全国嵌入式系统大会在甘肃张掖顺利召开 下一条:携手并进,在Arm平台上构建计算的未来

关闭

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