STM32

STM32是STMicroelectronics(意法半导体)推出的一系列基于ARM Cortex-M内核的32位微控制器(MCU)产品。这些微控制器提供了广泛的产品系列,覆盖了多种不同的性能和功能需求,适用于各种应用领域,包括工业控制、汽车电子、消费类电子、医疗设备等。

STM32系列微控制器以其高性能、低功耗、丰富的外设接口和灵活的开发工具而闻名。它们通常具有丰富的存储器、多种通信接口(如UART、SPI、I2C、CAN等)、模拟数字转换器(ADC)、定时器、PWM输出等功能,以满足不同应用场景下的需求。

STM32微控制器通常使用标准的ARM Cortex-M内核,包括Cortex-M0、M0+、M3、M4和M7等,这些内核具有不同的性能和功耗特性,可根据具体应用的需求进行选择。此外,STM32系列还提供了多种封装和引脚配置,以满足不同尺寸和集成度的要求。

STMicroelectronics为STM32系列提供了丰富的开发工具和支持资源,包括基于ARM开发环境的集成开发环境(IDE)、调试器、评估板和参考设计等。这些工具和资源有助于开发人员快速开发和部署他们的应用,并提供了全面的技术支持和文档资料,帮助用户充分发挥STM32微控制器的性能和功能优势。

2024年,新质生产力是国内社会经济的“第一热词”。对于工业物联网应用来说,协同效率是提升新质生产力的重点。我们行业应用系列的第一篇文章(行业应用篇 | “高智靓” STM32 GUI解决方案助力工业物联网系统的可视化)分享了工业自动化场景中移动设备或远端设备的GUI应用趋势与STM32的解决方案,这些设备在传输数据时也需要借助无线连接实现数据通讯,所以无线连接将是发挥协同作用的关键。

01、工业通信领域的无线技术为什么越来越重要?

工业无线技术是目前工业通信领域的三大主流技术之一。相比有线网络,无线网络具有移动性,没有通信线缆的限制,通信终端可以在通信区域内自由移动或随意布置;组网快速灵活,覆盖面积广,扩展能力强,可以组成多种拓扑结构,十分容易扩展节点。

工业物联网的无线通信技术主要分为两类:一类是ZigBee、WiFi、蓝牙等短距离通信技术;另一类是LPWAN(low-power Wide-Area Network),即低功耗广域网通信技术。LPWAN又分为两类:一类是工作于未授权频谱的LoRa、SigFox等技术;另一类是工作于授权频谱下,3GPP支持的2/3/4G蜂窝通信技术,如EC-GSM、LTE Cat-m、NB-IoT等。不同的无线技术在组网、功耗、通讯距离、安全性等方面各有差别,因此拥有不同的适用场景。

1.png

蓝牙和ZigBee短距离无线技术都具有低成本、低功耗、低功率,安全性高,实施简单快捷的特点,适合固定设备、移动设备和楼宇个人域网之间的短距离通信。

而LoRa、SigFox等技术同样具有低功耗、低速率的特点,但传输距离长,适于测距和定位,远距离、大量连接以及定位跟踪等的物联网应用,如停车、车辆追踪、智慧工业、智慧城市、智慧社区等。

随着工业物联网的不断深入,这两种无线技术在工业自动化中有了越来越丰富的应用场景,如蓝牙技术可应用于状态监控和预测性维护,工厂设备智能诊断及预测性维护(无线振动传感器等), 工业设备配置及维护(参数配置,运行诊断,无线固件升级) 等。

而LoRa可用于工业远程监测及控制,智慧工厂无线传感器网络等。在这些工业自动化应用中都需要解决恶劣工况环境下等稳定性和可靠性,以及无线通信的低延时和广覆盖等挑战,同时还对功耗和成本有严苛要求。

STM32 无线MCU产品线可以支持多种无线通信技术和协议,广泛应用于各种通信技术应用,包括短距离通信,低功耗广域网通信,蜂窝通信等应用。无线系列是基于在STM32通用MCU的优势基础上实现高集成度单芯片SoC方案。目前有两个子系列量产,分别是:

  • STM32WBA系列:基于100MHZ Arm® Cortex®-M33内核,支持BLE 5.4, Zigbee,OpenThread等多协议和Matte标准,超低功耗架构并符合最新安全法规要求;

  • STM32WB系列:基于Arm® Cortex® -M4 和 M0+的双核无线MCU,具有高达1 MB的闪存和256KB RAM,支持BLE 5.4 & Mesh, Zigbee,OpenThread等多协议和Matte标准;

  • STM32WB0系列:基于64 MHz Arm® Cortex® -M0+内核,拥有512 KB 闪存/ 64 KB RAM,支持BLE 5.3。

2.png

  • STM32WL系列:单/双核架构、可支持LoRa等Sub-GHz频段射频协议的SoC射频芯片。

3.png

同时STM32将继续保持在STM32无线SoC领域的研发与投入,即将推出支持Wi-Fi的产品系列,敬请期待。

02、STM32无线系列在典型工业自动化场景中的应用优势

下面我们通过几个典型的工业自动化应用场景来直观地了解STM32 无线产品的应用优势。

在工业机器设备检修运维的应用场景中,需要对机器工况进行持续监测,用以改善工业设备的维护,确保机器处于最佳性能状态,避免意外故障和停机。STM32WB5MMGH6无线模块就非常适合这样的智能工业预测性维护系统。

4.jpg

STM32WB5MMGH6无线模块模块基于STM32WB55 无线 MCU,为使用Bluetooth Low Energy、Zigbee、Thread等主流标准开发无线通信应用提供了完整的子系统,并配备免费的通信协议栈,开发人员也可以选用其他的专有协议。该模块集成了几个基本组件,包括天线及其匹配电路、全部无源器件和时钟晶体。EMC、Bluetooth LE 5.3、Zigbee 3.0 和 OpenThread 标准预认证可以简化用户的强制性测试和产品级审批流程,加上 ST开发资源的全面支持,让开发变得更快捷、更容易、更经济。

STM32WB系列产品特点:

  • 双核架构:更高数据处理能力,多协议并发通信能力,信息安全防护能力,超低功耗性能。

  • 支持多种2.4GHz频段下的无线协议:Bluetooth™ LE 5.2,Zigbee 3.0,OpenThread,基于IEEE 802.15.4标准的私有协议,基于BLE HCI/BLE LLD标准的私有协议。

5.png

基于LoRa实现的工业自动化智能监测场景也很多,比如:

  • 基于LoRa的室内环境监测和电表智能化采集方案,通过手机或Web端实时查看工厂环境情况和电量数据,可大大提升工厂管理效率,实现降本增效。

  • 火电厂锅炉监测方案,通过传感器对锅炉膨胀系数等数据进行智能监测,利用LoRa基站网关将数据传输到移动屏或App,超过设置阈值时立即告警以消除潜在威胁。

  • 智慧工厂的电机设备温度监测系统通过LoRa与物联网平台对接,实时监测工厂内电机设备温度,确保设备安全运行。

6.png

一些需要在偏远且恶劣气候中扩大覆盖范围的工业活动,如石油和天然气开采和运输,风电场和太阳能园区,以及采矿厂等,具有多个节点和网关的复杂监控系统,在短距离和长距离上都存在布线难题。使用LoRaWAN进行监控解决方案的边缘节点配置,非常适合这种大规模智能工业场景。

在这些场景中,无线技术必须保证以高质量的数据速率提供长的传输距离,还要保持成本效益。

7.png

STM32WL在LoRa网络应用中扮演终端节点的角色。它与STM32应用处理器以及传感器配合,基于NanoEdge AI Studio和STM32 Cube软件,对传感器数据进行分析,实现基于AI的边缘计算。

STM32WL系列产品特点:

  • 单/双核架构:选择更灵活,多协议通信能力,信息安全防护能力,超低功耗性能。

  • 可支持4种调制模式、多种标准协议栈以及私有协议栈。

8.png

超低功耗架构

无论是短距离还是中长距离的工业自动化使用场景对低功耗都有具体的诉求。STM32WBx和STM32WL系列MCU都采用了低功耗处理内核,提供多种工作模式,非常适用于需要延长电池寿命和复杂功能的应用。

STM32WBx和STM32WL系列都基于意法半导体ART Accelerator™技术,具有丰富的低功耗模式,可以根据微处理器运行时不同的应用需求来适时调整电压从而实现功耗的动态平衡。

9.png
▲ STM32WBA55低功耗特性
10.png

▲ STM32WL低功耗特性

强大的安全性

STM32无线产品全线支持强大的安全性。STM32WBx和STM32WL系列都内置功能安全与信息安全模块,保障用户的应用。

11.png

完善的生态系统

为方便用户加快开发,ST还提供了RF应用的集成被动器件(IPD),将RF相关的10多个被动器件集成起来,配合STM32WB/WL共同使用,让RF匹配度更好,传输质量更高。ST的IPD覆盖从168 MHz及以上的所有射频应用,包括Sub-Giga、WLAN、蓝牙、ZigBee、WiMax、UWB、LTE等,成本结构竞争力强,尺寸小,可降低功耗损失,简化设计,提升可靠性,降低BOM,方便定制化设计。

12.png

STM32Wx无线系列MCU系列提供了从硬件、软件开发工具等完整的生态系统,从配置、开发、下载到监控的一站式开发平台,构建无缝的开发流程,降低开发射频应用的门槛,基于STM32强大的生态系统,方便用户更快地上手。

至此,对于一个典型的基于边缘AI的工业自动化场景(比如故障检测)来说,从显示界面GUI到无线传输技术,我们都讨论过了,下一篇文章将详细探讨ST如何将嵌入式AI更高效地落地在这些场景中,敬请期待。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 11
从工作电脑到个人手机,从商场橱窗到楼宇电视,生活在被各种屏幕包围。这一趋势,在工业之力和科技之美的碰撞中,迅速渗透主导了工业物联网的GUI应用。

工业4.0是工厂自动化的下一个发展阶段,可将生产车间内的设备连接起来,从而成为工业物联网 (IIoT) 的组成部分。出色的图形化用户界面(GUI)成为市场共识,与智能手机界面相似的 GUI 应用被广泛部署在工业物联网设备中,实现从云端监测和控制设备,在不更新设备的情况下提升生产流程的智能化程度。

比如,通过手持式可移动设备,无障碍的实现更灵活的监视控制和数据展示,可实时显示工厂自动化系统的各种运行状态和性能状况,并实现实时的控制和管理。

智能物联设备的应用场景中,低资源占用和低功耗需求是实现复杂图形用户界面不易跨越的技术难点。MCU作为嵌入式产品的核心,它的图形处理性能日益成为关注焦点。

STM32可以为用户提供丰富且具备优异显示效果的多种解决方案。

  • 从成本敏感型的入门级图形解决方案到媲美智能手机用户体验的高阶图形解决方案。

  • 支持多种屏幕接口、色深以及分辨率,同时还可兼顾优异的功耗管理。
  • 除了丰富的产品组合,STM32 MCU还内置了多种图形加速器以提供更好的显示效果并释放MCU算力。
1.png

下面我们就通过几个工业自动化应用中常见的控件设计的效果展示来直观地了解STM32 GUI生态的优异性。

视频流应用,主要应用场景包括开机动画,无纸化说明书(设备维护指导,设备使用说明)等,主要使用到内置的MJEPG硬件加速器。

MJPEG 硬件加速器可最小化 CPU 负载,可以播放高质量的MJPEG视频流,比如在STM32H750B Disco kit 上播放60FPS的视频流, MCU 负载仅需19%。

具体特性包括:

  • MJPEG 压缩及解压缩

  • 全面且简单的管理MJPEG的包头

各种线性控件,包括饼图,柱状图,折线图。主要应用了内置的Chrome-ART硬件加速器。

Chrom-ART能够在图形化任务中释放CPU,具有更低的功耗,能实现更流畅和更丰富的图形化效果,在滑动和透明效果中可以节省高达 80% 的 CPU 资源。

具体特性包括:

  • 简单的图形绘画

  • 高效的 2D 图片拷贝技术

  • 图片混合方面,支持高效的透明效果和位图/字体的抗锯齿效果

  • 高效的像素格式转化

矢量图形和字符的应用,主要借助了NeoChrom硬件加速器。

NeoChrom硬件加速器是新一代 STM32 2.5D 加速引擎,是Chrom-ART的升级版本,在原来的性能上,实现了更多的动画效果以及性能优化,把CPU从图形任务中释放出来,低功耗,少存储,具有更高的GUI性能,可实现平滑而丰富的图形效果。

具体特性包括:

  • 简单绘图

  • 2D 复制

  • 阿尔法混合

  • 颜色格式转换

  • 高级的绘图

  • 缩放,旋转

  • 透视正确纹理贴图

  • 图像格式压缩

2.png

3.png

4.png

TouchGFX生态链加快开发速度

除了卓越的图形STM32硬件组合,ST还提供了TouchGFX开发工具,填补了生态链上的最后一块拼图。

TouchGFX生态链工具支持全系列STM32 MCU,能够最大化发挥STM32内置的硬件图形优化器性能,并且通过“所见即所得”的开发界面,自动生成代码,让用户使用起来非常的简单且高效。

我们通过一段视频来展示STM32 TouchGFX如何快速设计一个工业应用的线性图表案例。更多使用技巧,请参考TouchGFX 文章网站: https://support.touchgfx.com/

STM32高效GUI方案提供先进的STM32软件开发套件(包括TouchGFX GUI库-全部免费),广泛的生态系统(全面的文档、视频、教程、完整的源代码演示和代码示例、本地支持,以及第三方工具和服务),所有这些都可帮助设计人员快速完成从创意到实施的图形应用方案开发。

工业自动化市场存在大量定制化专机业务,势必会存在很多的需要临时调整的显示内容,如此简单易用且炫酷的STM32 GUI生态,不知道是否会受到您的青睐?

结语

2024年,新质生产力是国内社会经济的“第一热词”。对于工业物联网应用来说,协同效率是提升新质生产力的重点,而便携式看板的应用也需要借助无线连接实现数据通讯,所以无线连接将是发挥协同作用的关键。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 18

新旗舰产品,超低功耗,物超所值

服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了注重节能降耗和成本效益的新一代微控制器。与上一代产品相比,新一代能耗降低高达50%。高能效可以减少电池更换次数,最大限度降低废旧电池的环境影响,让更多设计人员选用无电池设计,采用太阳能电池等能量收集系统给设备供电。

1.jpg

当前全世界都在寻求可持续发展,智能建筑和物联网(IoT)技术是提高能源和资源管理效率的重要手段。智能建筑和物联网(IoT)离不开智能传感器和执行器。意法半导体微控制器是智能传感器和执行器的重要组件,负责管理数据采集、过滤、分析和行动决策过程,并与云端高级应用通信。目前全球有数十亿这样的MCU在运转,随着智慧生活工作不断发展,未来还需要数十亿颗类似的芯片。

意法半导体通用MCU部门总经理Patrick Aidoune解释道:“这些无处不在的设备尽可能少用电量是非常重要的,因为这有助于最大限度地减少在其他地方浪费的电能。今天推出的STM32U0新系列微控制器把这个概念提升到了一个新的层级,采用我们的成熟的超低功耗技术,耗电量非常小,在工业传感器管理等小体积专用设备内,使用相同容量的电池,这款MCU可将电池续航时间延长一倍。因此,开发者可以为各种工业、医疗和消费设备增加更先进的功能,提供具有成本效益的解决方案。”

STM32U0新系列MCU融合前沿设计技术和先进的制造工艺,能效水平取得了巨大的飞跃,包括待机模式下极低的静态功耗和卓越的唤醒性能,使MCU在省电的睡眠模式下工作的时间更长,最大限度地降低平均能耗需求。

在安全监控系统市场上,一个潜在客户在监控摄像头中用STM32U0唤醒系统,当发现有人移动时,摄像头自动唤醒并拍摄,实现节能和监控两不误。另一个客户用STM32U0设计了一个续航时间超长的烟火探测器,Ascol公司用STM32U0管理注重功耗的水表功能。

Ascol高级软件开发工程师Francesco Cerretani表示:“Ascol开发各种创新的电子产品,聚焦于物联网技术。我们正在设计一款超声波水表,电池续航时间超过10年,集成显示实时数据的LCD面板,以及必要的安全保护功能。我们发现STM32U0是一个完美的解决方案,支持我们开发低成本、超低功耗、安装简便、免维护、计量精确的水表。当规模部署在客户的给水管网时,新水表将改善对漏水的控制,并有助于降低环境影响。”

STM32U0配备LCD段码显示控制器,有助于提高应用的成本效益。带有LCD面板的设备,例如,Ascol的水表、恒温器、智能零售标签、门禁面板和工厂自动化控制设备,可以利用这个配置来降低PCB成本。STM32U0 MCU的其他超值功能包括各种模拟外设,例如,模数转换器(ADC)、数模转换器(DAC)、运算放大器和比较器。片上还集成一个系统振荡器,有助于减少物料清单,节省成本和PCB空间。

STM32U0是市场上首个通过SESIP 3级和PSA 1级安全认证的专注固件代码保护的Arm®Cortex®-M0+ 微控制器。产品认证为客户带来第三方对STM32U0的安全功能保证,产品制造商可以利用安全认证达到即将生效的自愿性的美国网络信任标志认证和强制性的欧盟无线电设备认证指令(RED)的要求。

开发人员还受益于高达256KB的闪存、多达81引脚的封装和56MHz的主频,这些功能配置在这个级别的产品中是非常优秀的。

STM32U0系列现已投产,意法半导体给这些新产品定了一个极具吸引力的价格,申请样片和询价,联系当地意法半导体销售办事处。

详情访问 www.st.com/stm32u0

点击如下链接查看STM32U0的产品介绍: https://www.st.com/resource/en/product_presentation/microcontrollers-stm32u0-series-product-overview.pdf.

* STM32 意法半导体国际有限公司(STMicroElectronics International NV) 或其关联公司在欧盟和/或其他地方的注册和/或未注册商标。 特别是,STM32已在美国专利商标局注册。

关于意法半导体

意法半导体拥有5万名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广泛。意法半导体承诺将于2027年实现碳中和(在范围1和2内完全实现碳中和,在范围3内部分实现碳中和)。详情请浏览意法半导体公司网站:www.st.com

围观 18

全球光伏行业能够跨越式发展离不开储能技术的快速崛起。储能技术在发电端、电网侧、负荷端都有需求,光储融合,全面提升了光伏发电的渗透率。

为什么这么说呢?因为储能技术能够有效解决光伏发电的间歇性和波动性问题,以及与用电高峰的时差问题,能够让普惠光伏进入千家万户。

1.png

光伏储能系统是具有多种应用的复杂系统,STM32可用于多个子系统。如光伏板上的优化器、RSD(快速关断)、拉弧检测、DC-DC/双向DC-AC功率转换、通信监看的人机交互界面等等。

实现“比特管理瓦特”,数字电源不可少

光伏储能,技术同源,是因为光伏发电和储能技术都需要一个关键技术,就是电能转换。

我们都知道,电能转换有四种形式:AC-DC、AC-AC、DC-AC和DC-DC。在光伏储能系统中,会用到AC-DC、DC-AC和DC-DC三种电能转换形式。

因此,逆变器可谓是光伏储能系统的心脏所在。

《STM32在光储系统中的应用》视频将分上、下两集向大家解读STM32的应用解决方案。

光储逆变器的本质是一种电源产品,因其复杂程度,通常采用数字电源实现。而这种电源要求更高的系统效率,来满足最严格的能源要求;更高的功率密度与开关频率,以及更快速的控制回路;能管理复杂拓扑并具备设计灵活性。

所谓的数字电源实际上就是一种采用数字信号来控制开关电源的开关状态和频率,并通过微处理器(MCU)等对电源输出进行控制和监测的功率转换解决方案。

在光储系统中,实现“比特管理瓦特”的过程,缺不了数字电源。

数字电源的优点很多,比如软件可编程、可实现更高级的控制算法、更复杂的拓扑结构、集成度高、一致性好,具有可扩展性和可重用性。在复杂的多系统应用中,优势非常突出。

STM32提供平台化解决方案STM32 D-Power产品组合,融合DSP和模拟信号处理能力,推动能源转换数字化。

2.png

其中,新品STM32G4和STM32H7系列,内嵌全功能高精度定时器(HRTimer),精度高达 184皮秒;可配置高灵活度 PWM 波形;具有丰富的事件管理和极速的故障保护功能。

STM32为数字电源应用打造了完整的产品生态,包含多种硬件开发板,免费软件开发工具eDesignSuite,以及针对不同电路拓扑配置高精度定时器的技术文档等。

ST可提供全面的数字电源模块产品

STM32在光伏储能系统的方案成熟,经市场头部企业验证。

3.png

典型数字电源系统的关键构建模块主要包括两个部分:控制单元和功率级。除了MCU和MPU ,ST 还可以提供多种功率器件,尤其是SiC二极管、SiC MOSFET、以及不同集成度的GaN解决方案。

STM32关注光伏储能发展,持续的研发投入将带来更丰富的解决方案,进一步提升光伏转换效率,为光伏市场发展提供源动力。

相关阅读:

日光倾城,低碳未来 | STM32在光伏储能中的应用(上)

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 29

学习STM32单片机的时候,总是能遇到“堆栈”这个概念。分享本文,希望对你理解堆栈有帮助。

对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据。堆栈操作由PUSH、POP两条指令来完成。而程序内存可以分为几个区:

  • 栈区(stack)

  • 堆区(Heap)

  • 全局区(static)

  • 文字常亮区程序代码区

程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数指针入栈,保护现场,以便于中断处理完之后再回到之前执行的函数。
栈是从高到低分配,堆是从低到高分配。

普通单片机与STM32单片机中堆栈的区别

普通单片机启动时,不需要用bootloader将代码从ROM搬移到RAM。

但是STM32单片机需要。

这里我们可以先看看单片机程序执行的过程,单片机执行分三个步骤:

  • 取指令

  • 分析指令

  • 执行指令

根据PC的值从程序存储器读出指令,送到指令寄存器。然后分析执行执行。这样单片机就从内部程序存储器去代码指令,从RAM存取相关数据。

RAM取数的速度是远高于ROM的,但是普通单片机因为本身运行频率不高,所以从ROM取指令慢并不影响。

而STM32的CPU运行的频率高,远大于从ROM读写的速度。所以需要用bootloader将代码从ROM搬移到RAM。

使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

其实堆栈就是单片机中的一些存储单元,这些存储单元被指定保存一些特殊信息,比如地址(保护断点)和数据(保护现场)。

如果非要给他加几个特点的话那就是:

  • 这些存储单元中的内容都是程序执行过程中被中断打断时,事故现场的一些相关参数。如果不保存这些参数,单片机执行完中断函数后就无法回到主程序继续执行了。

  • 这些存储单元的地址被记在了一个叫做堆栈指针(SP)的地方。

结合STM32的开发讲述堆栈

从上面的描述可以看得出来,在代码中是如何占用堆和栈的。可能很多人还是无法理解,这里再结合STM32的开发过程中与堆栈相关的内容来进行讲述。

如何设置STM32的堆栈大小?

在基于MDK的启动文件开始,有一段汇编代码是分配堆栈大小的。

1.png

这里重点知道堆栈数值大小就行。还有一段AREA(区域),表示分配一段堆栈数据段。数值大小可以自己修改,也可以使用STM32CubeMX数值大小配置,如下图所示。

2.png

STM32F1默认设置值0x400,也就是1K大小。

Stack_Size EQU 0x400

函数体内局部变量:

void Fun(void){ char i; int Tmp[256]; //...}

局部变量总共占用了256*4 + 1字节的栈空间。所以,在函数内有较多局部变量时,就需要注意是否超过我们配置的堆栈大小。

函数参数:

void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)

这里要强调一点:传递指针只占4字节,如果传递的是结构体,就会占用结构大小空间。提示:在函数嵌套,递归时,系统仍会占用栈空间。

堆(Heap)的默认设置0x200(512)字节。

Heap_Size EQU 0x200

大部分人应该很少使用malloc来分配堆空间。虽然堆上的数据只要程序员不释放空间就可以一直访问,但是,如果忘记了释放堆内存,那么将会造成内存泄漏,甚至致命的潜在错误。

MDK中RAM占用大小分析

经常在线调试的人,可能会分析一些底层的内容。这里结合MDK-ARM来分析一下RAM占用大小的问题。在MDK编译之后,会有一段RAM大小信息:

3.png

这里4+6=1640,转换成16进制就是0x668,在进行在调试时,会出现:

4.png

这个MSP就是主堆栈指针,一般我们复位之后指向的位置,复位指向的其实是栈顶:

5.png

而MSP指向地址0x20000668是0x20000000偏移0x668而得来。具体哪些地方占用了RAM,可以参看map文件中【Image Symbol Table】处的内容:

6.png

来源:嵌入式Linux

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 29

新款STM32U5片上集成矢量图形加速器及大容量SRAM存储器

意法半导体推出了集成新的专用图形加速器的STM32*微控制器(MCU),让成本敏感的小型产品也能为用户带来更好的图形体验。超低功耗MCU STM32U5F9/G9STM32U5F7/G7集成3MB片上动态存储器(SRAM),可以为图形显示屏提供多个帧缓存区,以节省外部存储芯片。新产品还集成了意法半导体的NeoChromVG图形处理器(GPU),能够实现的图形效果可与更昂贵的高端微处理器相媲美。

1.jpg

新系列STM32U5内置 NeoChromVG图形处理器,是STM32首批支持硬件加速矢量运算的MCU,能够渲染 SVG图像和矢量字体。内嵌的专用 GPU 还可以实现图像旋转、Alpha透明度混合和精确视角的纹理映射等高端图效。此外,新款MCU 还有处理 MJPEG 视频的 JPEG 编解码器。这些功能让产品开发人员可以在智能家电、智能家居控制器、电动自行车和工业终端设备中使用动态图标、支持多种不同尺寸的字体、可缩放地图、视频播放等技术,为消费者带来更炫酷、更有趣、更直观好用的新一代便携式产品。

在片上集成先进的图形处理功能和大容量 RAM 存储器后,设计人员无需外部存储器就可以开发高性能的图形子系统,从而节省了 PCB 空间,无需片外高速信号传输。除了 3MB SRAM存储器外,片上还集成了 4MB 闪存,为代码和数据提供了充足的非易失性存储空间。

新款MCU在低成本100引脚LQFP封装内集成所有电路,可以实现简单的4层PCB设计,避免信号布线和电磁兼容性 (EMC)引起的常见问题。在为这些 MCU专门开发的STM32U5G9J-DK2图形开发套件中,意法半导体展示了这种设计思路,开发人员可以将其用作硬件参考设计,加快产品上市。

ST 授权合作伙伴 Riverdi 已经使用 STM32U5F9/G9 MCU 开发出了具有高级图形功能的新产品。Riverdi 的联席首席执行官 Kamil Kozłowski 表示: “ 最新的 STM32 MCU是兼具优异图显功能与成本灵活性的单芯片方案,使我们能够以更具吸引力的价格推出 5 英寸显示模块,为终端产品厂商提供专业的整体显示方案,帮助他们为自己的产品设计定制化用户界面。我们基于 STM32U5F9/G9 的新型嵌入式显示器解决方案完全集成在 ST 的 TouchGFX GUI 设计框架内,客户打开显示器包装后,就可以立即着手开发自己的 UI 。”

STM32U5F9/G9STM32U5F7/G7属于STM32U5 超低功耗产品线,采用先进高能效的 Arm® Cortex®-M33处理器内核,在 160MHz 频率运行时处理速度达到 240 DMIPS,ULPMark-CoreProfile (CP)测试成绩为464分。该系列MCU具有200nA 待机模式、支持部分RAM内容保留和快速唤醒功能的多种低功耗模式,运行模式下功耗仅为 16μA/MHz ,在功耗优化和提升性能方面具有更大的灵活性。

开发人员还可以利用经过市场检验的STM32 外设和 IoT 硬件安全功能,以及包括软件工具、中间件、库和代码示例在内的 STM23Cube 生态系统。

STM32U5F9/G9 和 STM32U5F7/G7 现已上市。

关于意法半导体

意法半导体拥有5万名半导体技术的创造者和创新者,掌握半导体供应链和先进的制造设备。作为一家半导体垂直整合制造商(IDM),意法半导体与二十多万家客户、成千上万名合作伙伴一起研发产品和解决方案,共同构建生态系统,帮助他们更好地应对各种挑战和新机遇,满足世界对可持续发展的更高需求。意法半导体的技术让人们的出行更智能,让电源和能源管理更高效,让云连接的自主化设备应用更广泛。意法半导体承诺将于2027年实现碳中和(在范围1和2内完全实现碳中和,在范围3内部分实现碳中和)。详情请浏览意法半导体公司网站:www.st.com

围观 36
光伏发电技术凭借其绿色、环保的优势,已成为绿色经济引擎,海内外市场呈现跃进式发展态势。随着投资成本不断下降、发电效率逐年提升,全球光伏平价大时代已经来临。

但是光伏发电技术发出的电力不稳定,具有间歇性,且与用电高峰存在时差等问题,因此电力系统引入储能技术提升电网的灵活性,平滑电力输出,起到调峰调频的作用,光伏储能技术一体化成为新的发展趋势。在光储技术一体化系统中,STM32提供多种交钥匙解决方案。

1.jpg

太阳光照射在光伏板上,通过光伏效应将光能转换为直流电能,这时需要电弧检测与阻断技术(AFCI,Arc-Fault Circuit-Interrupter)来保证光伏发电的安全。STM32G4及STM32H7系列,结合边缘AI算法,可实现精准的拉弧识别。

发出来的电能需要进行远距离传输,在配电上网前,要将直流电逆变为交流电,这就需要用到电能逆变系统(PCS,Power Conversion System),STM32可提供平台化解决方案。

因电网调峰调频的需要,暂时不能上网的电能,需要储存起来作为备用电源,这就用到储能系统(ESS,Energy Storge System),STM32同样可提供经过市场验证的方案。

我们还需要人机交互系统(HMI,Human Machine Interface)对光伏系统的工作情况进行实时监看。根据通信监控模块的不同复杂程度,可选用STM32F4、STM32H7、STM32H5等系列;如果需要更高的CPU性能、图形性能,或者运行Linux系统,STM32MP1系列是理想的选择。除了这些子系统,STM32还可用于RSD(快速关断)、MPPT(最大功率点跟踪)等系统中。

基于STM32+AI的智能电弧检测与阻断方案(AFCI)

光伏发电在全球迅猛发展的同时,安全问题备受关注,其中最突出的是直流拉弧引起的电气火灾。直流拉弧是电路断点处击穿空气产生的持续火花。在光伏系统中,持续的电弧会使温度升高,可能引发火灾。

拉弧故障产生的原因很多,接点松脱、接触不良、线缆老化、极端故障天气、环境恶劣等等,且很难检测。电弧检测及阻断技术被寄予厚望,它能在电弧产生时快速识别并切断,避免电弧高温导致火灾,保证光伏系统的安全。AFCI系统在设计时存在很多难点。如逆变器开关电源噪声、多变的天气,以及快速关断设备的载波通信频率与光伏系统中的PLC通信频率重合造成的干扰等等。

STM32推出了交钥匙的解决方案,可以帮助客户快速实现电弧检测产品开发。基于STM32+AI的AFCI方案,通过在信号采集部分的逆变器输入端的互感器,将信号输入到AFCI检测板。当神经网络模型检测到故障后,通过通信接口告诉关断设备切断故障,并向主控单元报告实时拉弧状况。

STM32G4和STM32H7两个系列都具有快速、高精度ADC,均能满足拉弧检测要求,只是在检测速度和精度上有差异。

  • STM32G474是主频170MHz的Cortex-M4内核MCU,有5个4MSPS 的12位 ADC;

  • STM32H7A3是主频280MHz的Cortex-M7内核MCU,有2个3.6MSPS 的16位 ADC;

  • STM32H723是主频550MHz的Cortex-M7内核MCU,有2个3.6MSPS 的16位 ADC 和1个5MSPS 的12位 ADC;

  • STM32H743是主频480MHz的Cortex-M7内核MCU,有3个3.6MSPS的16位ADC。

为方便客户快速上手,我们还提供拉弧检测的硬件评估板。

电弧检测及阻断技术守护光伏发电的安全,STM32提供坚实可靠的助力。

欲了解更多基于STM32+AI的智能电弧检测与阻断方案(AFCI),请访问以下网址:https://stm32ai.st.com/,或联系ST官方代理商。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 31

在高速发展的物联网时代,创新与协作成为引领技术前进的关键所在。意法半导体与深圳创新微技术有限公司(简称为“创新微MinewSemi”)深入合作,基于STM32的BlueNRG及STM32系列芯片,结合创新微MinewSemi在物联网连接模块领域的研发技术和生产实力,共创适用于智能家居、智能制造、智慧城市等不同应用场景的多款低功耗模块,为物联网通讯及智能连接赋能。

本次STM32与创新微MinewSemi合作开发了三款低功耗模块,即低功耗蓝牙模块MS23SF1、MS53SF1和低功耗LoRa模块 MS53SF2,可广泛应用于物联网设备、可穿戴技术、智能家居、智慧农业等领域,解决客户在低功耗模块智能连接方面的应用痛点,为行业客户带来全新体验。

1.png

后续STM32与创新微MinewSemi还将持续深耕基于低功耗模块的物联网连接多场景应用,不断为市场带来更多前瞻性解决方案和应用技术,引领中国智能连接的生态发展。

强强联合,共创低功耗模块

低功耗蓝牙模块——MS53SF1

MS53SF1是基于高度灵活、超低功耗的BlueNRG-355MC SoC的BLE 5.2 LNA模块。支持主从同步连接,支持多主多从工作模式,能被(采集器、手持设备)主机连接的同时,还可与多个从机(外置负荷开关、各类外置传感器)建立并发数据连接。

模块特点:

  • 搭载BlueNRG-355MC芯片

  • 小尺寸(20x12x2mm)

  • 低功耗蓝牙5.2 LNA模块

  • 支持主从同步连接

  • 支持多主多从工作模式

  • 125kbps速率下透传距离可达500米

  • 支持ANT、BLE、BLE MESH、ZIGBEE和 THREAD等协议

2.png

STM32官网产品模块:>>点击查看

低功耗蓝牙模块——MS53SF2

MS53SF2基于BlueNRG-332AC的高度灵活、超低功耗、高性价比的无线BLE 5.3模块。支持高速率、长距离、广播扩展、信道选择算法、测向(AoA/AoD)等。在125kbps的数据速率,它在开放空间范围内透传距离最远可达500米。

模块特点:

  • 搭载BlueNRG-332A芯片
  • 小尺寸(20x12x2mm)
  • 低功耗蓝牙5.3模块
  • 可外置增加PA及LNA
  • 超远传输距离透传距离可达500米
  • 支持信道选择算法
  • 支持可选外置天线

3.png

STM32官网产品模块:>>点击查看

低功耗LoRa模块——MS23SF1

MS23SF1是一款LoRaWAN®收发模块。其选用STM32的LoRaWAN无线半双工SoC芯片STM32WLE5CC,支持全球ISM频率,具有低功耗、超远距离、易用小巧等特点,同时还可支持多接口(SPI、UART、I2C、DAC、ADC)。

模块特点:

  • 搭载STM32WLE5CCU6芯片
  • 小尺寸(20.72x19.13x3.2mm)
  • 内置主频48MHZ Arm Cortex-M4
  • 可编程比特率,内部RAM64KB,Flash256KB
  • 通信距离可达5KM
  • 多IO口,支持GPIO24
  • 最高功率可达到+20.5dBm,灵敏度低至-146dBm

4.png

STM32官网产品模块:>>点击查看

合作共赢、技术创新是在快节奏发展中取得成功的关键。STM32和创新微MinewSemi的通力合作,结合双方技术优势、生产实力、体系化产品认证等能力,互利共赢、推陈出新,开发推出更具创新性产品和解决方案,不断推动“万物互联”的生态发展,为中国智能连接生态的高质量赋能。

关于创新微MinewSemi

创新微MinewSemi是云里物里全资子公司,是一站式物联网无线连接模块供应商,专注于物联网连接模块领域的研发创新和生产,包括BLE、GNSS、Wi-Fi、LoRa、UWB、毫米波雷达等全面的物联网模块产品,广泛应用于智能家居、智能制造、智慧城市、医疗健康等十余个领域,以射频、通信、组网、嵌入式等科技赋能全球80多个国家和地区。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 21

一、引言

在之前的 STM32MCU TrustZone 开发调试技巧的系列文章中,我们已经介绍了 ARM CM33 内核 Trust Zone 特性,STM32MCU 的系统级 TrustZone 架构设计,TrustZone 环境下使用外设的注意事项,以及 HardFault 的处理和调试等内容。我们知道在某些较为复杂的应用中,往往还会用到 RTOS,在这个系列的最后一篇,我们将主要讨论 STM32MCU 应用程序开发中,在 TrustZone 环境下使用 RTOS 时的情况以及相关软件开发的一些注意事项,供开发者参考。

二、TrustZone 环境+RTOS 的软件架构

通常情况下,在 TrustZone 环境中,Secure 安全侧的代码主要负责处理一些关键数据的操作和关键外设的管理和控制,而更多的业务逻辑相关的应用程序则会运行在 TrustZone 的Non-Secure 非安全侧。软件的开发模式也会由原来的单一应用程序工程变为安全加非安全两个工程的联合开发。系统复位后 CPU 总是从安全工程的 reset handler 开始运行,安全代码完成初始化以及系统的安全配置之后,调用非安全代码的 reset handler 切换到非安全状态,继而开始运行非安全侧代码,非安全代码执行过程中可能会调用安全侧代码提供的一些API 函数,这个过程类似图 1 所示。

1.png

2.1. TrustZone 环境中 NS 代码不使用 RTOS 的情况

在逻辑相对简单的应用中,非安全侧代码不使用 RTOS,应用程序代码完成初始化之后会进入一个主循环,顺序执行各种操作,其间可能被中断打断。此时安全和非安全工程之间的关系也比较简单,基本上涉及的是直接的函数调用,可能是从非安全侧调用安全侧的API,或者从安全代码调用非安全侧注册的回调函数,类似图 2 所示。

2.png

2.2. TrustZone 环境中在 NS 代码使用 RTOS 的情况

在处理逻辑更复杂的应用中,应用程序可能需要用到 RTOS 来同时执行多个任务,此时RTOS 的功能例如多线程管理、mutex、semaphore、消息队列等也会在非安全侧使用,非安全侧既有 RTOS 的内核,也有上层执行业务逻辑的线程,应用线程中可能调用安全侧提供的 API 函数,类似图 3 所示。

3.png


这时候安全侧依旧是没有 RTOS 的环境,和裸跑时候一样不运行任何的调度器(scheduler),安全侧本身没有多线程的概念,也没有一直运行的任务,安全侧代码只是被动地提供一些 API 函数,供非安全侧软件来调用。这个过程看起来似乎与不使用 RTOS 的时候一样,但是一旦非安全侧有了 RTOS 和多线程的参与,而且线程又需要调用安全侧的 API,实际情况相比非安全侧裸跑就变得复杂了。接下来,我们来看几种可能的情况:

  • Case1:应用线程 1 中调用 S 安全侧 API,API 返回前没有出现线程调度

  • Case2:应用线程 1 中调用 S 安全侧 API,但是 API 返回前出现了线程调度,切换执行线程 2 任务,线程 2 没有调用 S 安全侧 API

  • Case3:应用线程 1 需要调用 S 安全侧 API,但是 API 返回前出现了线程调度,切换执行线程 2 任务,线程 2 也调用 S 安全侧 API

2.2.1. Case1:Thread1 调用 S 安全侧 API,返回前没有出现线程调度

第一种情况比较简单,在这个场景中 Thread1 会调用 S API,在其运行期间 CPU 会切换到 S 安全侧执行,S API 函数执行结束后返回 NS 非安全侧的 Thread1 继续执行,整个过程中没有出现线程调度,如图 4 所示。

4.png


这是一个相对简单的情况,因为 Thread1 调用 S API 的整个过程没有被打断,因此看起来 RTOS 内核不需要做特殊处理,线程可以正常执行。但是这里需要注意的一个问题是线程的 stack,因为当 Thread1 调用 S API 切换至 S 安全侧执行的时候,CPU 使用的堆栈将不再是 NS 非安全侧的线程堆栈(PSP_NS 所指向的 RAM 地址),而是会切换使用安全侧的堆栈(PSP_S 或者 MSP_S 所指向的位于 RAM 安全区的地址)。如果 RTOS 内核要管理线程stack,那么对于需要调用 S API 的那些线程,还需要管理他们在安全侧要用到的 stack。在这种 case 中,只要安全侧 API 函数有局部变量需要用到堆栈,RTOS 内核就需要为Thread1 分配 S 安全侧的内存,并且管理其对应的 PSP_S,以便 Thread1 需要调用 S API的时候,将能够使用 PSP_S 所指向的 S 安全侧的线程堆栈。

2.2.2. Case2:Thread1 调用 S 安全侧 API,返回前出现线程调度

第二种情况比第一种情况略微复杂,在这个场景中 Thread1 依旧会调用 S API,在其运行期间由于时间片切换等原因,CPU 会切换到 S 安全侧执行,但是 S API 函数执行尚未结束就出现了线程调度,NS 非安全侧 RTOS 内核的调度器将挂起 Thread1,并切换到Thread2 执行,Thread2 执行一段时间后再次出现线程调度,回到 Thread1 继续执行,如图5 所示。

5.png


我们知道通常情况下在 ARM CM33 内核进入调度器中断时,当前线程的上下文会压栈到PSP,调度器可能还会压栈其他一些寄存器的内容到 PSP 指向的 stack 中,然后通常会把当前线程 Thread1 的 PSP 指针记录在对应线程的数据结构中,接下来找到下一个需要启用的线程 Thread2,恢复 Thread2 的 PSP,这样从调度中断返回的时候,EXC_RETURN 加载到 PC,系统会回到线程模式,从 Thread2 的 PSP 指向的 stack 恢复线程上下文,继续从Thread2 执行。

但是我们现在讨论的情况是内核使能了安全扩展,也就是 CPU 在 TrustZone 环境下运行,这时候进入线程调度中断时,EXC_RETURN 中除了有常规的数据,还同时记录了额外的信息,其中包括上下文压栈的使用的 stack 是 S 还是 NS 的指示。在上述的 Case2 场景中,Thread1 被打断时 CPU 正运行在 S 安全状态,EXC_RETURN 将标记压栈使用 S 安全侧 stack,当调度器恢复了 Thread2 的 PSP,系统从线程调度中断返回时,按照EXC_RETURN 的标记,CPU 将回到 S 安全态执行,而不是执行 Thread2 的上下文,这样会造成问题。所以对于这样的情况,RTOS 的内核调度需要对 EXC_RETURN 做处理,需要记录线程的 EXC_RETURN 值,在调起某个线程的时候,也要恢复对应的 EXC_RETURN,以便从中断退出时能够进入正确的线程运行状态(S 安全或者 NS 非安全)。

2.2.3. Case3:Thread1 调用 S API,返回前出现线程调度,Thread2 也调用 S 

API第三种情况更加复杂,在 Case2 的基础上,如果 Thread2 也需要调用 S API,那么Thread2 也会切换到 S 侧执行,如图 6 所示。

6.png


这种情况中,Thread2 切换到 S 侧时,需要使用 Thread2 对应的安全侧 stack,当切换回 Thread1 时,需要使用 Thread1 对应的安全侧 stack,因此 RTOS 内核的线程调度器需要有能力为每个线程记录并恢复 PSP_S,而运行在 NS 非安全侧的 RTOS 内核线程调度器无法直接访问 PSP_S,因此,RTOS 内核也需要有 S 安全侧的一部分代码,来协助完成线程PSP_S 的记录和恢复操作,这样第三种情况会变成类似图 7 的样子,RTOS 线程调度器在S 安全侧也有一部分配合线程切换的代码,来管理线程的安全侧 PSP_S 的记录与恢复。

7.png


总结对上述三种情况的分析,我们可以看到,完整支持 CM33 内 TrusZone 的 RTOS 内核需要能够处理多个线程调用 S API 的情况,这可能包括对 EXC_RETURN 的处理,以及管理那些可能调用 S API 的线程在 S 安全侧需要使用的 stack 空间的分配以及以及对 PSP_S的操作和管理。那么实际中 TrustZone 环境下 NS 侧使用 RTOS 的样子可能如图 8 所示,RTOS 提供的上层功能如 thread,mutex,semaphore,message queue 等依旧是在非安全侧,由非安全侧应用程序使用,但是 RTOS 内核的调度器还有一部分代码运行于安全侧,用于配合辅助不同情况下的线程调度。

8.png

三、TrustZone 环境中 NS 非安全侧使用 RTOS 的注意事项

首先需要注意 RTOS 的版本,比较旧的版本可能还没包含对 ARM CM33 内核以及TrustZone 的支持。如果应用的项目是从某个过去的项目中迁移到 STM32MCU 的新产品,尤其使用了 TrustZone 的时候,建议检查原始工程中的 RTOS 版本,确认是否已经包含对CM33 内核以及 TrustZone 的支持。

其次,要注意在安全和非安全工程中添加正确的 RTOS 代码。以 FreeRTOS 为例,它的portable 代码有多个目录,在 TrustZone 环境中应当使用 ARM_CM33 目录下的文件。

9.png


同时这个目录下又有两个子目录,分别对应 secure 和 non-secure,在构建应用工程的时候除了要添加 NS 非安全工程中的 FreeRTOS 代码外,还需要在安全工程中添加对应的secure 目录下的 FreeRTOS 代码。例如在 IAR 中工程包含的 FreeRTOS 源代码文件中将会类似图 10 所示。

10.png


最后还要注意的一点是关于安全侧的 stack 分配。如果 NS 非安全侧线程需要调用安全侧API,那么通常需要为该线程分配安全侧的 stack,该 stack 的大小由 S API 函数所需要的stack size 决定。依旧以 FreeRTOS 为例,FreeRTOS 提供了新的 API,用于线程分配其在安全侧的堆栈,需要调用 S API 的线程应当在其线程主函数的开始旧调用函数portALLOCATE_SECURE_CONTEXT(),分配安全侧的 stack,如图 11 所示。

11.png

四、小结

本文重点讨论了基于 ARM CM33 内核的 STM32MCU 支持 TrustZone 的环境下使用RTOS 的一些情况,并总结了 TrustZone 环境下使用 RTOS 的一些注意事项。某些 RTOS如果没有对 TrustZone 的非常完整的支持,使用起来可能会有些限制,这时候应用程序可能需要注意。例如通过添加 mutex 避免多个线程同时调用 S API 等。当然这里仅仅讨论了 NS侧使用 RTOS 的情况,也就是 S 安全侧只是提供函数由非安全侧调用,本身安全侧没有调度器没有线程概念,如果安全侧也包含了调度器(比如 TF-M)那么配合非安全侧使用RTOS 可能会是另一种情况。

本文是 STM32MCU TrustZone 开发技巧的系列文章的最后一篇,希望对开发者有所帮助,也欢迎大家多提宝贵意见。

来源:STM32

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 24

页面

订阅 RSS - STM32