STM32N6的开发日记(1):上手难度拉满的N6有哪些不同?

博主主要在WX写作,C站消息不能及时看见,如有需要联系请关注:《实在太懒于是不想取名》获取联系方式。

STM32N6作为意法半导体推出的首款集成自研神经处理单元的STM32产品以"MCU+NPU"的异构架构重新定义了边缘AI的算力边界,是意法半导体的MCU最前沿技术栈,不过由于其高难度技术应用以及需要的极其深厚的STM32使用经验以及神经网络基础概念,因此上手难度非常的高。

自从STM32N6发布以来,博主有幸获得一块STM32N657-DK开发板,闲暇之余陆陆续续折腾如何开发。因此将会陆陆续续发表一些使用STM32N6的使用笔记,以供将来的使用者参考。

回顾学习历程,主要是使用人群不多,导致踩了很多很多的坑,在后续使用STM32N6的文章中也会像大家陆续介绍这些点。

本文为简单的介绍一下STM32N6为后续的STM32N6文章提供基础。

STM32N6的存储分布

首先相较于常规STM32系列,STM32N657没有内置Flash,而是配备了高达4.2MB的SRAM,这代表着STM32N657想要长久的存储代码,必须借助于外部Flash存放代码应用程序代码。

为此必须要了解STM32N6的多种启动模式,需要了解Flash启动模式下的FSBL(First Stage Boot Loader)对应的三种模式:直接FSBL则是由STM32N6的BootRom程序将外部Flash存放的FSBL代码拷贝到内部后直接运行;FSBL_Load&Run则是在BootRom将FSBL拷贝到内部SRAM后,FSBL中的程序进一步的将外部Flash中的拷贝到芯片SRAM中进而运行;

FSBL_XIP则是省去了外部Flash拷贝到SRAM中的过程,直接在外部Flash就地进行;相较于传统的STM32MCU,STM32N6的内存管理更加的高级和复杂,但是也为N6带来了更多可能。

RIF内存安全管理

STM32N6是STM32MCU中首款引入RIF资源隔离框架的微控制器,旨在通过硬件级隔离与细粒度权限控制,实现系统资源(内存、外设、总线主设备等)的安全分区,降低软件漏洞被利用的风险。

RIF由RIMC(主设备管理)、RISAF(从设备地址过滤)、RIFSC(安全控制器)三大核心组件构成,协同实现资源隔离,因此在使用STM32N6中,一定要格外注意RIF权限设置(博主在这里踩了不少坑)。

Neural-ART Accelerator(NPU)

作为意法半导体推出的首款集成自研神经处理单元的STM32产品,其命名为Neural-ART Accelerator的NPU是专为边缘AI应用设计的核心组件,针对神经网络计算(如卷积、矩阵乘法、激活函数)进行了硬件优化,最高可达600 GOPS,能效比:平均能效达3 TOPS/W,在低功耗场景下(如电池供电设备)表现突出,无需额外散热装置。

采用近300个可配置乘法累加单元(MAC),支持灵活的算子映射(如卷积、全连接层),适配多种神经网络模型。

ST的流处理技术以流交换机为核心,通过运行时编程构建任意虚拟处理链,实现比硬件数据路径更灵活、比片上内存总线更高效的边缘AI数据处理。其支持多链并行、单向数据流与背压控制,可动态分叉或合并数据流,减少内存访问次数以降低功耗,同时通过流引擎与外部系统通信。

4个卷积加速器(CONV_ACC)执行核心计算,2个池化加速器(POOL_ACC)和2个激活加速器(ACTIV_ACC)分别处理池化与激活函数,4个算术加速器(ARITH_ACC)负责逐元素运算,流引擎(STREAM_ENG)高效调度数据流。此外,它还包含用于权重解压(DEC_UNIT)和指令解码(EPOCH_CTRL)的辅助单元,支持8/16/24位整数格式(无硬件浮点单元)。

其实可以看出STM32N6的NPU专注于卷积、池化等图象处理神经网络结构,并不是通用型神经网络加速单元,在循环神经网络 (RNN)、长短期记忆网络 (LSTM)等加速有限。

因此在STM32中部署神经网络模型时,可以通过ST Edge AI Core或者STM32Cube.AI来查看神经网络模型中哪些结构获得了硬件加速、哪些结构则是由CPU来执行运算。

总结

STM32N6以"无内置Flash+大容量SRAM"的创新架构,重新定义了MCU的存储范式。后续也会分享一些关于自己在探索这块芯片上的遇到的技术问题和解决办法。

相关推荐
不悔哥1 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20161 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
优信电子1 天前
AIT1001 非接触式红外测温模块 STM32 驱动开发实战:从引脚到代码全解析
stm32·嵌入式·温度传感器·红外测温·非接触式测温·ait1001
深圳老胡1 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
女神下凡1 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9661 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛1 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
从零开始的嵌入式之旅1 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
恒锐丰科技林技术员1 天前
EG1164 高压大电流升压同步整流芯片解析
经验分享·嵌入式硬件·硬件工程