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

cubeide的代码怎么编译到内部+外部FLASH里面去

[复制链接]
wangzhong 提问时间:2025-2-12 13:29 / 未解决

Hi ST 工程师

我有一个项目,准备使用GUI和AI,准备使用STM32U5,但是编译出来的代码很多,STM32U5的内部FLASH不够用,准备使用OSPI扩展外部FLASH。但是遇到一个问题,我不知道怎么将编译出来的代码链接到内部、外部FLASH。

如果是MDK,可以通过选项来设置,如果代码超过了内置FLASH的大小会自动链接到外部FLASH。但是使用CUBEIDE该怎么设置?

如:

image.png

收藏 评论3 发布时间:2025-2-12 13:29

举报

3个回答
wangzhong 回答时间:昨天 13:33

我尝试过修改ld文件,将外部FLASH的区域划出来。但是编译的时候,依然无法将超过的代码放置在外部FLASH里面。

image.png

wangzhong 回答时间:昨天 13:35

ST有关于XIP的例子,但是都是通过做一个boot,然后全部跳转到外部flash的方式。如果这样做,就会丢弃掉内部2M的FLASH,我觉得这不是一个完美的解决方案。

xmshao 回答时间:8 小时前
根据你目前的情况,是想扩展QSPI做代码存储及运行的空间。

你要注意,程序启动后要及时初始化QSPI,通常在启动文件里的sysinit()里完成。


修改链接文件脚本是必不可少的环节。类似下面的做法:


/* 外部 OSPI FLASH 中的主程序 */
  .qspi :
  {
    . = ALIGN(4);
    *(.qspi)
    *(.qspi*)
    . = ALIGN(4);
  } >OSPI


另外,你还得准备基于外部QSPI的下载算法驱动文件。ST公司有基于各类现存开发版和常用存储器件准备了一些下载驱动,在STM32cubeProgrammer里可以看到现存的。如果没有就得自己写了。

所属标签

相似问题

官网相关资源

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