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

《STM32N6视频课程》学习笔记+STM32N6启动与调试技巧(二)

[复制链接]
背影101 发布时间:2026-4-2 09:21

接着昨天的继续

一、外部 Flash Programming

1、Programming 过程(STLINK)

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

②连接 USB-C to USB-C 线

③打开 STM32CubeProgrammer并使用下面 STLINK 设置连接:

Port: SWD

Freq: 8000 kHz

Mode: Hot plug

Access port: 1

Reset mode: Software reset

image.png

④在“External loaders” 选项卡中选择MX66UW1G45G_STM32N6570-DK External loader

image.png

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

image.png

2、Programming 过程(UART)

①串行启动 : BOO1=L, BOOT0=H

②板子上电

③选择UART连接

④刷新,选择COM口

⑤连接

⑥点击”+”Open File

⑦选择tsv文件

⑧Open

⑨检查文件

⑩选择bin文件路径然后下载

image.png

image.png

image.png

image.png

3、Programming 过程(USB)

①串行启动: BOO1=L, BOOT0=H

②USB 启动端口连接PC

③Programmer选择USB 连接

④板子上电

⑤刷新

⑥连接

⑦点击”+”Open File

⑧选择tsv文件

⑨Open

⑩检查文件,并选择bin文件路径,然后下载

image.png

image.png

image.png

image.png

二、OTP Programming

1、设置 OTP 保险丝

①OTP 保险丝 只能在dev_boot 模式下设置 ②用来设置 OTP 保险丝的例程代码可以在FW v1.2.0 包中找到 工程路径: Projects/STM32N6570-DK/Examples/BSEC/BSEC_OTP_Config 在main.h 文件中设置 BSEC_FUSE_ADDRESS 与 BSEC_FUSE_MASK 执行工程 OTP124 相关常量包含在 main.h 文件中

注:当 VDDIOx 在 3V3 范围时,设置HSLV_VDDIOx 和 VDDIOxVRSEL 位, 会损坏芯片

image.png

2、STM32N6570-Nucleo 板 OTP 保险丝设置

①STM32N6570-Nucleo板使用1片外部存储器,工作在1.8V: 一片 NOR SFDP Flash 连接在 XSPIM_P2 (8位接口端口) Macronix MX25UM51245GXDI00 ②IO电压电平设定为1.8V,需设置一次性可编程(OTP)位,并提供相关VDDIOx I/O电压范围选择的详细信息 若VDDIO供电电压低于2.5V,必须熔接OTP 124的HSLV_VDDIOx位。 XSPIM_P2(由VDDIO3供电):设置OTP124位15(VDDIO3_HSLV)为1。

PWR_SVMCR3寄存器中的VDDIOxVRSEL必须与OTP124的HSLV_VDDIOx位相适应。 XSPIM_P2(由VDDIO3供电):设置VDDIO3VRSEL @ PWR_SVMCR3 为 1; 该配置也可通过HAL驱动程序 API HAL_PWREx_ConfigVddIORange函数实现。

3、STM32CubeProgrammer ST-LINK 配置

①ST-LINK 配置 Port = SWD Frequency = 8MHz up to 24MHz Mode = Hot plug Access port = 1

image.png

注:如有需要更新 ST-LINK 固件 设置BOOT1 = 1,使能DEV_BOOT 使用USB-C 线(CN6) 连接STM32N6570-DK 与PC 点击 Connect 按钮建立 SWD连接

4、STM32CubeProgrammer 写OTP 字

①选择 OTP OTP 字内容和状态会自动读取并显示 必要时,请点击“Read”按钮刷新内容。

image.png

②下滑找到HCONF1 OTP124写入新字值(双击启用编辑) 示例设置HSLV_VDDIO3 bit15 = 1

③按 Enter 键, 新值会闪烁三次

④点击 Apply 按钮

image.png

⑤点击确认消息中的“OK”按钮后当一次性编程成功完成时,检查并点击OK,

⑥再回读一次,检查一次性编程是否成功

image.png

三、FSBL + XiP 工程开发

1、STM32N6例程简介

①FSBL (*) (Basic Load & Run mode) BootROM从外部闪存中加载FSBL。FSBL包含的示例程序(占示例总数的 ~90%)。

②FSBL + Load & Run application BootROM从外部闪存中加载FSBL。FSBL自身会加载存储在外部闪存中的第2个二进制文件(应用),将其复制到内部SRAM中,然后跳转执行。若干例程适用。

③FSBL + XiP BootROM从外部闪存中加载FSBL。并且外部闪存中还存储着第2个二进制文件(应用)。FSBL将外部存储器配置为XiP模式,随后跳转至外部存储器执行(应用)示例程序。若干例程适用。

④FSBL + Load & Run secure and non-secure applications BootROM从外部闪存中加载FSBL。FSBL自身会从外部闪存中加载两个二进制文件(一个用于安全应用程序,另一个用于非安全应用程序),将其复制到内部SRAM中,然后跳转至安全映像进行执行。若干示例适用。

2、FSBL 工程

image.png

3、FSBL+XiP 工程结构以及工程

image.png

image.png

四、使用STM32CubeIDE 开发过程示例

1、FSBL_XIP 示例

实现目标:

编译 Template_FSBL_XIP工程

添加Header (Sign the FSBL & App),烧录到板(DK with MX66UW1G45G flash)

XIP mode 启动,检查功能

Debug XIP 应用 (断点设置,执行等)

①使用Windows资源管理器, 导航到:(文件路径) DK:\STM32Cube_FW_N6_V1.2.0\Projects\STM32N6570DK\Templates\Template_FSBL_XIP\STM32CubeIDE 然后双击 .project

②导入完成后,点击“OK”。查看工程浏览器中,展开Template_FSBL_XIP 及其子工程

③先编译 Template_XIP_FSBL 工程,再编译 Template_XIP_AppS 工程查看控制台中的编译结果应如下所示:

image.png

④为二进制映像文件添加头

完成编译后,会在下面两个目录中分别生成了两个二进制文件:: • \Template_FSBL_XIP\STM32CubeIDE\Boot\Debug\Template_XIP_FSBL.bin • \Template_FSBL_XIP\STM32CubeIDE\AppS\Debug\Template_XIP_AppS.bin

在 Boot\Debug 文件夹中单击鼠标右键并选择打开PowerShell

⑤Template_XIP_FSBL.bin 添加信任头

使用 STM32CubeProgrammer V2.19.0或以上版本

\bin\STM32_SigningTool_CLI.exe 添加信任头,并运行下面命令(安装修改路径):

Powershell 命令:

&"C:\Apps\STM32CubeProgrammer\bin\STM32_SigningTool_CLI.exe" -bin Template_XIP_FSBL.bin -

nk -of 0x80000000 -t fsbl -o FSBL-trusted.bin -hv 2.3 -dump FSBL-trusted.bin

注意: 在PowerShell中执行位域其它位置的命令或可执行文件时需要& “C:\Windows\notepad.exe”使用Powershell时也可动态添加path,$env:PATH = env:PATH+";C:\YourPath\STM32CubeProgrammer\bin"

image.png

⑥Template_XIP_AppS.bin添加信任头

使用 STM32CubeProgrammer V2.19.0 或以上版本 \bin\STM32_SigningTool_CLI.exe 添加信任头,并运行下面命令(安装修改路径): • 对于 Cut 2.0 芯片:

&" C:\Apps\STM32CubeProgrammer\bin\STM32_SigningTool_CLI.exe" -bin Template_XIP_AppS.bin -nk -of 0x80000000 -t fsbl -o Project-trusted.bin -hv 2.3 -dump Project-trusted.bin

image.png

⑦外部 Flash MX66UW1G45G 擦除

image.png

⑧烧录 Template_XIP_AppS-trusted文件

image.png

⑨运行 FSBL

image.png

image.png

image.png

image.png

⑩烧录Template_XIP_FSBL-trusted文件

image.png

⑪独立执行Template_XIP_FSBL 工程

设置 BOOT1 = L,使能 Flash 启动 按 NRST键 (黑色按钮) 复位,会执行:

XIP_FSBL 由BootROM从Flash 复制到 SRAM2 XIP_AppS 直接在外部 Flash上执行. STM32N6570-DK 开发板上的绿色 LED灯会反复开关(闪烁)。

⑫使用脚本自动化签名与烧录XIP_ FSBL

image.png

⑬使用脚本自动化签名与烧录XIP_AppS

image.png

收藏 评论0 发布时间:2026-4-2 09:21

举报

0个回答

所属标签

相似分享

官网相关资源

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