网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 人工智能 > AI通用技术 >

STM32N6 开箱实验:如何快速上手最强大的STM32系列

时间:2025-09-17 10:37

人气:

作者:admin

标签:

导读:STM32N6是有史以来功能最强大的STM32系列STM32N6嵌入了意法半导体专有的Neural-ART加速器和运行频率为800MHz的ArmCortex-M55内核,提供了迄今为止最高的STM32微控制器(MCU)计算能力。利用强大的边...
wKgZO2jKHpyAHoW4AACCx4j6c0U902.jpg

STM32N6是有史以来功能最强大的STM32系列


STM32N6嵌入了意法半导体专有的Neural-ART加速器和运行频率为800 MHz的Arm Cortex-M55内核,提供了迄今为止最高的STM32微控制器 (MCU) 计算能力。利用强大的边缘AI功能,在微控制器的功耗预算和PCB占用空间内,为您的客户带来媲美MPU的终端用户体验,对边缘AI应用可以如虎添翼。


STM32N6产品组合:

wKgZO2jKHp2AbcvcAAKuc7PjNSY837.png


NUCLEO-N657X0-Q 是我们本次实验的硬件平台工具:

1. STM32 Nucleo-144 development boardwith STM32N657X0 MCU, SMPS, supports Arduino, and ST morpho connectivit,以下是板子的正反面照片。操作手册与Bom, 原理图参考附件文档。

wKgZPGjKHp6AGncRAA1yjXlssVE069.pngwKgZO2jKHp2AczKxAAqIhfYehtU836.png


2. STM32CubeMx 配置:

wKgZPGjKHp2AeP9NAAKhCcw89Ls958.pngwKgZPGjKHp2AMqeyAAIDprW6GAk594.pngwKgZPGjKHp2AbmmLAAMzjkbsYu0461.pngwKgZPGjKHp2AV8f2AAOqe07ymB4250.pngwKgZO2jKHp2AToKGAALmNkZRc-M435.png


3. 打开STM32CubeMx生成的工程,并添加代码:

wKgZO2jKHp2AUbw0AAA7m8szHBY785.png


BSP_LED_Toggle(LED_GREEN);

HAL_Delay(500);

if(BspButtonState == BUTTON_PRESSED)

{

BspButtonState = BUTTON_RELEASED;

printf("Reset system.\n\r");

NVIC_SystemReset();

}


4. 仿真可以看到绿色LED 闪烁,并且另外2个LED常亮,按了B1 Button 芯片复位,就无法调试了,这是因为STM32N6 内部Flash小,代码需要存储在外部OSPI Flash中,而调试又只能运行在RAM中,复位后,指针指向Flash区,导致无法Debug,下面就来介绍 STM32N6 启动模式。


<1>STM32N6 是 ST 第一颗带 NPU 的 MCU 芯片, 内部只有一小块 ROM 用于第一阶段的 Boot,必须使用外部 Flash 存储用户代码或通过 USB/U(S)ART 串口启动。另外, STM32N6 的工程引入了一些新的术语比如 FSBL 等。 本文记录 STM32N6 使用的一些基本启动步骤,重点介绍FSBL。FSBL 的全称为 First Stage Boot Loader, 在上电后, 先执行片内 ROM 区域的BootROM,然后根据 Boot 选项和地址,执行相应地址的 FSBL.


<2>启动模式 :其中 BOOT1 引脚决定了两种不同的启动模式, dev boot 和Flash boot/Serial boot 模式: Flash boot(Boot1 = 0, Boot0 = 0)意味着上电后, BootROM 程序(固化在片内 ROM 的一小段启动程序)会尝试从外部 Flash 启动,应用程序需要下载到外部 Flash,如果没有应用则无法启动。 Dev boot 意味着上电后, BootROM 程序尝试从内部 Ram 中启动

wKgZPGjKHp6ABSEjAAC6YQmvrG8032.pngwKgZO2jKHp6AAah9AACMaiY4krY899.pngwKgZPGjKHp6AQZFDAAmf21Akmq8358.png


<3>FSBL 的全称为 First Stage Boot Loader, 在上电后, 先执行片内 ROM 区域的BootROM,然后根据 Boot 选项和地址,执行相应地址的 FSBL,参考下图实例为外部Flash 的启动流程,BootROM 启动后,会验证 FSBL 的头,深黄色部分 1024Bytes 的 Header 信息,可以使用 ST 提供的脚本对 FSBL 进行签名, FSBL 程序必须完成签名,不然无法正常启动。验证成功后, BootROM 将 FSBL 程序搬运至内部 SRAM2: 0x34180000 的位置,然后PC 指针跳转过去开始执行 FSBL。因本示例只有FSBL,其他FSBL+Load&Run ,FSBL+XiP(Execute in Place) 等方式就不过多赘述。如需了解请参考ST LAT1491。

wKgZO2jKHp6AOiXfAAGhwpY0wyE393.png


<4>编译后的bin文件需要通过STM32MP_SigningTool_CLI.exe 签名后才能在外部Flash中运行,在签名前,需要安装 ST 最新的 CubeProgrammer ,安装后里面包含有STM32MP_SigningTool_CLI.exe工具,并将 STM32MP_SigningTool_CLI.exe的路径加入到 Windows 系统 PATH 环境变量中,确保该 exe 程序可以被正确找到并运行。 以下是签名运行效果图:

签名command:STM32_SigningTool_CLI.exe -bin C:\Users\l9781\Desktop\n6\FSBL.bin -nk -of 0x80000000 -t fsbl -o C:\Users\l9781\Desktop\n6\FSBL_trusted.bin -hv 2.3 -dump C:\Users\l9781\Desktop\n6\FSBL_trusted.bin


• -bin: 原始 bin 文件。

• -nk: no keys,没有使用密钥相关选项。

• -of: option flags。

• -t: bin 文件的类型为 fsbl。

• -o:输出后的文件。

• -hv: header version,版本号。

• -dump:将 bin 文件的 header 信息 dump 出来,方便查看。

FSBL.bin 是原始的 FSBL 工程的 bin 文件, FSBL-trusted.bin 是已经被正确签名并添加好header 的 bin 文件。

wKgZO2jKHp6AHgXOAAMNwJwwrhQ492.png


下载command:STM32_Programmer_CLI -c port=SWD mode=HOTPLUG ap=1 -el C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader\MX25UM51245G_STM32N6570-NUCLEO.stldr -hardRst -w C:\Users\l9781\Desktop\n6\FSBL_trusted.bin 0x70000000


我这个实验使用命令行烧录,也可以使用STM32CubeProgrammer 命令行烧录,效果一样。

wKgZPGjKHp6AZf2eAADvFaA7BmE736.png


运行效果图:<因为是静态图,看不到绿色LED闪烁>,代码与工程参考附件。

wKgZPGjKHp6ATeA1AAReXwrypkI935.png

欢迎关注大联大工程师社区——大大通

查看原文,了解更多详情!

原文链接:https://www.wpgdadatong.com.cn/reurl/FFN36n

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信