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

【STM32N6570-DK评测】3.从外部flash启动

[复制链接]
奇迹 发布时间:2024-12-26 20:33

每一次在使用没有内部Flash的芯片时,如何将程序从外部介质启动是个大麻烦,由于N6支持很多种启动介质,怎么把他们全部兼容上,是一件很麻烦的事情,STM32N6选择了OTP配置加boot引脚选择的模式解决这个问题。

首先先看一下如何配置从哪个介质启动。

从ST手册中我们可以看到,N6支持SD、emmc、nor flash、hyper flash等启动方式,一共分了7个模式

image.png

这里启动模式的选择是通过BOOT0和BOOT1两个引脚的电平,以及BOOTORM_CONFIG_2[8:5]位的状态选择

image.png image.png

连接开发板,我们可以看到BOOTORM_CONFIG_2[8:5]默认为0,也就是从nor flash启动(所以说,切换启动介质一定要三思而后行,这是不可逆的操作!!!)。

image.png

第二个问题,就是N6是如何从nor flash启动的

其实说N6没有内部Flash,这句话也不完全正确,一方面N6有OTP的熔丝,另一方面则是有用于启动的boot rom,当确定了启动介质为nor flash之后,内部的boot rom就会对xspi/xspim外设做基本的配置,配置有下面的内容,可以看到都是一些比较保守参数。而且相对比较新的nor flash都是支持SFDP标准的,这也进一步保证了N6选择Flash的兼容性,当然,太老的是肯定兼容不了的。

image.png image.png 当boot rom做好相关外设初始化之后,它会将nor flash里面的FSBL部分的程序复制到sram里面,这时候我们可以在这里对xspi/xspim外设做二次初始化,这里就可以根据使用的nor flash配置不同模式,确保在app部分能跑到最佳性能。


扯远了,下面我们就将下载程序到外部nor flash并从nor flash启动。

首先安装STM32CubeProgrammer。

然后准备好一个可以使用的bin文件,这里我选择上一次实验编译出来的bin文件。

image.png

首先需要给固件添加标头。

打开终端,输入STM32_SigningTool_CLI.exe -bin LED_FSBL.bin -nk -of 0x80000000 -t fsbl -o Project-trusted.bin -hv 2.3 -dump Project-trusted.bin 注意根据自己的路径进行修改。

出现下面的打印就代表成功了。

image.png

在文件夹里面可以找到Project-trusted.bin这个文件

image.png

启动STM32CubeProgrammer,在这里选择对应的外部Flash下载算法

image.png

连接板卡

image.png

选择输出的Project-trusted.bin文件,下载地址填写0x70000000,点击Start Programming,等待下载完成

image.png

将BOOT0和BOOT1都拨到左边,点击复位即可看到小灯闪烁。

image.png

image.png
image.png
收藏 评论0 发布时间:2024-12-26 20:33

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版