你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32N6课程学习心得

[复制链接]
BEEE 发布时间:2026-7-10 17:52
收藏 评论1 发布时间:2026-7-10 17:52

举报

1个回答
BEEE 回答时间:2026-7-10 17:53:58

STM32N6课程学习心得

1、STM32N6硬件系统设计及注意事项

STM32N6 是一款基于 Arm® Cortex®-M55的MCU(Up to 800MHZ),

集成:

ST Neural-ART Accelerator (Up to 1GHZ),

H264 编码器,

Neo-Chrom 2.5D GPU,

4.2Mbyte-连续 SRAM,

内部无内嵌FLASH.

电源架构

1.VDD –数字IO电源域; 2. VDDA18AON -OPT/CLOCK

图片.png 3. VDDIOx 需要特别注意,是特定IO的电源域

图片.png 4. 支持SMPS, 无内部LDO 5. VDDCORE 可动态调节: 0.81v-支持主频 600MHZ/800MHZ 0.89V-支持主频:800MHZ/1GHZ

上电顺序

图片.png

供电方案

注意:

1.VDD & VDDA18AON 必须先上电 2. VDD&VDDA18VON 稳定后MCU会产 生PWR_ON信号 3. PWR_ON 是后继其他电源域的使能信 号

External SMPS driving capability >2A.

两种模式: 内部或者外部SMPS

VDDcore 电压值可动态调整: 普通模式: 0.81v/ M55-600MHZ/N-ART 800MHZ 高性能模式: 0.89v/ M55-800MHZ/N-ART 1GHZ

VRMVDDCORE-纹波 <=30mVpp

启动配置

1、Boot mode is determined by BOOT pins or OPT

2、BOOT1 is a nondedicated boot pin

3、One byte of OTP11 for the release of the HW STRAPING

时钟系统

不同的子系统有不同的时钟源: 内部时钟: HSI - 64 MHz MSI - 4 MHz 外部时钟: HSE -48 MHz 两个辅助时钟: LSI: 32 kHz LSE: 32.768 kHz 四个PLL时钟: PLL1: clock to the CPU, buses, and AXI storage areas PLL2: clock to NPU and NPU storage areas PLL3: clock to CACHEAXI RAM and Ethernet PLL4: clock to display, camera module, FDCAN, and other peripherals 每路时钟可以独立开关,有助于功耗优化

硬件设计通用规则

  1. 1、所有封装只有一个 V08cap
  2. 2、不用的电源域不能悬空
  3. 3、支持1.8v或3.3v电源
  4. 4、没用的GPIO需要初始化成固定状态
  5. 5、电源滤波需要考虑数量和电容位置
  6. 6、DebugLED on PG10(AF11) 可以用来作为指示灯
  7. 7、系统默认的SPI总线宽度为1位。需要注意与外部SPI flash带宽的兼容。

2、STM32N6启动与调试

BootROM & 启动

• 首先检查Boot1 pin. BOOT1 默认PA6, 可通过OTP(BOOTROM_CONFIG_10, 确定端口和PIN) • BOOT1 = 1, 进入Dev 模式 • BOOT1 = 0, 未设置, 启动流程将检查Boot0 管脚, • Boot0 = 0, 选择Flash 启动. 则通过OTP 保险丝选择Flash 设备接口 • Boot0 = 1, 选择串行启动. 可通过OTP 保险丝禁用串行接口 • 注意:Boot1 引脚检查优先于Boot0 引脚检查。如果未设置Boot1 引脚,则检查Boot0。如果选择了Boot1 引脚但在当前生命周期中不允许,则检查Boot0 引脚

图片.png

外部 Flash Programming(STLINK)

1、在主板断电状态下,将两个启动开关均向右拨至“开发模式”

2、连接 USB-C to USB-C 线

3、打开 STM32CubeProgrammer

  1. 并使用下面STLINK 设置连接:
  • Port: SWD
  • Freq: 8000 kHz
  • Mode: Hot plug
  • Access port: 1
  • Reset mode: Software reset

4、在“External loaders” 选项卡中选择

  1. MX66UW1G45G_STM32N6570-DK External loader

5、在“Erasing & programming”选项卡中,浏览至binary files 并点击“Start Programming”. 外部闪存编程可能需要数分钟。

OTP Programming

FSBL + XiP 工程开发

• 目标 (with STM32CubeIDE): • 编译 Template_FSBL_XIP工程 • 添加Header (Sign the FSBL & App),烧录到板(DK with MX66UW1G45G flash) • XIP mode 启动,检查功能 • Debug XIP 应用 (断点设置,执行等)

FSBL + XiP 工程调试技巧

FSBL + Load&Run工程开发

3、STM32N6功耗测量

• Core domain • Retention domain • Backup domain • Analog domain

神经网络运行各阶段功耗分析

图片.png

4、使用STM32CubeMX生成STM32N6的 ExtMemLoader, FSBL, Appli的一个LED点灯工程

5、STM32N6 ISP 调试

DCMIPP ISP 简介

• 接口
  1. 并行 或 CSI2专用输入,适应低分辨率与高分辨率传感器
  2. • ISP
  3. 统计数据移除(Statistic Removal) 去除一些包含传感器统计数据的非视频像素行。
  4. 坏点去除(Bad Pixel Removal) 去除屏幕上的白点
  5. 抽取(Decimation) 纵向降低采样率 1,2,4,8x. 适用于过高分辨率的传感器.
  6. 黑色基准校正(Black-Level) 数据上向下偏移传感器输出零点,从深灰色调整至纯黑色。
  7. 曝光&白平衡(Exposure & WhiteBalance) R,G,B数据线性乘法处理
  8. 去迈赛克(Demosaicing) 原始拜耳到RGB888的插值处理
  9. 颜色转换(Color Conversion) RGB值调整,采用完整的矩阵乘法运算。
  10. 对比度增强(Contrast Enhancement) 非线性调节对比度(RGB整体相乘).
  11. 统计提取(Statistic Extraction) 提取R、G、B的平均值或直方图统计(12 分箱) • 应用管道 (Pipe1&2-后处理)
  12. 帧控制(Frame Control) 帧控制,单帧(snapshoot) 或连续模式等
  13. 裁剪(Crop) 裁剪(能够用来增加图像的稳定性)
  14. 缩减(Downsize) 箱式-滤波器,外带抽取(8x)功能
  15. 关注区域(ROI) 支持绘制8个带颜色的正方形
  16. Gamma转换 非线性转换, 参数固定 (用来匹配标准的屏幕)
  17. YUV 转换 矩阵运算(乘、加、门限), 从RGB 转YUV
  18. YUV444 转 422/420 色度通道降采样, 用于后续的 视频/JPG 编码
  19. 像素映射(Pixel Mapping) 可转RGB8888, 888p, 565, 等, 并可共面/半面/全面(coplanar/semiplanar/fullplanar)

DCMIPP 管线后处理

• 应用管道 (Pipe1&2-后处理) 11. 帧控制(Frame Control) 帧控制,单帧(snapshoot) 或连续模式等 12. 裁剪(Crop) 裁剪(能够用来增加图像的稳定性) 13. 缩减(Downsize) 盒式-滤波器,外带抽取(8x)功能 14. 关注区域(ROI) 支持绘制8个带颜色的正方形 15. Gamma转换 非线性转换, 参数固定 (用来匹配标准的屏幕) 16. YUV 转换 矩阵运算(乘、加、门限), 从RGB 转YUV 17. YUV444 转 422/420 色度通道降采样, 用于后续的 视频/JPG 编码 18. 像素映射(Pixel Mapping) 可转RGB8888, 888p, 565等, 并可共面/半面/全面(coplanar/semiplanar/fullplanar)

ISP: 嵌入式软件

• 2A 算法 • AEC ,自动曝光控制(Auto Exposure Control ) • 曝光是在图像传感器侧调节 • 用来调节图像传感器接收的光量 • AWB,自动白平衡 (Automatic White Balance) • 保持中性/灰色(白色像素显示为白色) • 识别场景的光源(评估场景的色温和亮度) • 设置正确的颜色校正矩阵,将帧从传感器RGB空间转换为sRGB空间 • 其它算法: • 坏点校正 • 检测并校正传感器阵列上坏像素产生的伪影 • 黑电平校正 • 根据传感器的增益(gain) 进行黑电平调整。

ISP: PC IQTune 工具

图片.png

6、STM32N6 ST EdgeAI tool工具介绍

部署和测试模型

1、根据模型文件,生成模型权重文件和模型代码文件。

2、使用python脚本,编译工程和下载。

3、使用数据集进行模型验证,并通过串口上传结果,python脚本分析生成报告。

编译和下载

评估基本性能

评估准确率

7、STM32N6 AI相关 github仓库和软件包介绍

Model Zoo

Model Zoo Service

图片.png

音频应用

• FFT • 窗函数 • 列处理: • Mel滤波 • Log • DCT • 移窗 • Mel频谱

视觉应用

图片.png

8、STM32N6信息安全特性概览

• STM32N6 security新特性 • 信息安全能力与认证目标

图片.png

9、STM32N6 BSEC

STM32N6 BSEC(Boot & Security Control)

• OTP fuse 管理 • 12Kbits OTP • 4096 OTP 低区,以bit为单位 (1-bit) 编程 • 4096 OTP 中区,以word为单位 (32-bit) 编程 • 4096 OTP 高区,以word为单位 (32-bit) 编程,只有当BSEC处于BSEC-closed状态时可以访问 • OTP fuses的读取和编程 • 支持Shadow寄存器,部分OTP fuse words值在 BSEC cold和warm复位时自动加载到对应shadow寄存器 • Device lifecycle 设备生命周期管理 • 当BSEC处于BSEC-open状态时(即STMicroelectronics engineering modes),读取OTP高区的fuse(包括RHUK)将返 回全0值(RAZ) • 支持通过128位的密码进入BSEC open状态(最多4次尝试机会) • 非易失性密钥存储吊销计数器 (Epoch) • 两个寄存器BSEC_EPOCHR0 和 BSEC_EPOCHR1 (只允许Boot ROM 写) • BSEC_EPOCHSELCR 寄存器用于选择传递给SAES的epoch信号,该信号影响从RHUK到DHUK的密钥派生 • 安全代码可以通过对OTP fuse编程增加EPOCH值,word 24-31对应 S EPOCH,word 32-39对应 NS EPOCH

• Temporal Isolation时域隔离 • HDPL(hide protection level)单向计数器,用于对密钥和调试功能的访问控制 • OTP fuse的编程锁定功能,锁定后在下次复位前无法进行编程 • OTP fuse words的读锁定功能 • 开启读锁定的shadowed words的影子寄存器将保持固定值,无法从fuse阵列重新加载数据 • 开启读锁定的非shadowed words,读取时将返回0 • Debug & Trace control • RHUK(Root Hardware Unique Key) • 芯片出厂时自带的随机产生的256-bit硬件唯一根密钥,直接连接到SAES硬件单元,软件无法读取 • JTAG 寄存器 • 提供BSEC_JTAGINR/JTAGOUTR 寄存器,用来协助软件代码(比如ROM code)通过JTAG与调试器之间进行通信 • 硬件特性控制 • 只读的shadowed fuse word 9用于控制硬件特性 (Device part number (RPN))

• 支持TrustZone® 和STM32 RIF 架构(resource isolation framework) • BSEC 自身访问控制 • BSEC寄存器只允许 secure + privileged 的访问,其他模式的访问都会被禁止,效果是读为零/写忽略(RAZ/WI) • BSEC Scratch 寄存器 • 四个BSEC_SCRATCHRx 寄存器,其数据只有在cold boot时被复位 • 可以用于存放需要在warm reset 时保持内容的数据 • 只允许secure + privileged 的读写,否则效果是读为零/写忽略(RAZ/WI) • 八个BSEC_WOSCRx 寄存器,其内容在cold boot或warm boot时被复位 • ROM code可以使用这些寄存器存储那些需要在hot resets之间保持内容的数据 • 只允许secure + privileged 的读写,否则效果是读为零/写忽略(RAZ/WI) • 只能写一次,内容在cold或warm reset时被复位

• BSEC有三种复位模式: • cold POR (power-on reset) 直接驱动 bsec_srst 信号 • 当pwr_por_rstn 信号生效时生效 • ➔ BSEC scratch (cold) 复位 • warm 系统复位 (bsec_rst) • 除了POR信号外,其他系统复位源(比 如app复位)包括 PAD 复位也会使其生 效 • ➔ BSEC warm 复位 • hot 复位(bsec_hrst) 直接由 bsec_done 信号驱动 • 当fuse_ok 信号为低时生效 • ➔ BSEC hot reset

OTPFuse管理

启动模式管理

图片.png

生命周期管理

时域隔离

调试访问控制

10、STM32N6安全启动与安全升级

图片.png

11、STM32N6密码学硬件与外部存储器加密

图片.png

• MCE(Memory cipher engine)可以在给定的地址范围内定义多个加密区域 • MCE自动管理对加密区域的所有system bus的访问 • 对于读操作MCE会自动解密数据 • 对于写操作,如果该区域可写,则MCE会自动加密数据 • 支持多种加密模式配置,支持对性能与安全性的不同需求

• 主要特性 • 支持系统总线数据读写访问的自动加解密 • 支持两种块加密算法:AES128/256 或 Noekeon (12 轮版本) • 支持两种chaining模式:block (ECB) 和 stream (CTR) • 每个块加密算(normal/fast)法对应一组只写属性且可以被锁定的256-bit master key主密钥寄存器 • 支持两组可以被锁定的 cipher contexts (128-bit key, IV),可用于stream 和 block ciphers • 针对 XSPI 数据预取指机制进行优化(仅针对stream cipher) • 读写仲裁方案,以获得更好的读性能 • 通过AHB总线进行配置,支持 RIF保护框架 • AXI系统总线master/slave接口 (64-bit) • 支持任何 AXI-64bit 读操作 • 当地址区域使能加密时,支持 AXI-64bit INCRx (x=1到8) 和 WRAPx (x=4) 写操作

12、STM32N6安全存储

OTP fuse:特定区域存储安全启动相关密钥,预留给用户使用的fuse,可根据应用需要存储一次性写入数据OTP fuse高区数据受到保护进入RMA状态时内容无法访问

Secure RAM和寄存器:SRAM2,BKPSRAMBKP寄存器,MCE密钥寄存器检测到确认的Tamper入侵事件时自动清除

MCE:外部Flash实时加解密可以使用DHUK派生密钥,实现一机一密和防克隆效果

HUK & SAES:支持硬件唯一密钥支持AES密钥封装,存储密文密钥,使用密钥加解密时不暴露密钥明文配合TZ和RIF系统隔离架构实现非对称密钥的安全存储与使用

图片.png

13、STM32N6资源隔离RIF图片.png

通过STM32CubeMX配置RIF

图片.png

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版