
请问如何在下载程序时保护flash中的用户数据不被覆盖?
STM32CUBEIDE 1.19.0 自动生成编码 原有工程GBK编码格式中文乱码。
STM32U5+LPBAM需设置RAM为SRAM4的地址,否则LPBAM无法运行?
tougfx 显示问题
STM32CubeIDE1.16.1创建新的STM32工程之后没有自动弹出引脚配置界面
关于昨天说的STMCubeIDE创建工程无法选择STM32Cube的问题,有解决办法了
关于STMCubeIDE创建工程BUG解决办法!!!
IDE软件这什么情况
肯定是软件哪里不行了
stm32g431rbt怎么显示汉字
我尝试过修改ld文件,将外部FLASH的区域划出来。但是编译的时候,依然无法将超过的代码放置在外部FLASH里面。
ST有关于XIP的例子,但是都是通过做一个boot,然后全部跳转到外部flash的方式。如果这样做,就会丢弃掉内部2M的FLASH,我觉得这不是一个完美的解决方案。
你要注意,程序启动后要及时初始化QSPI,通常在启动文件里的sysinit()里完成。
修改链接文件脚本是必不可少的环节。类似下面的做法:
/* 外部 OSPI FLASH 中的主程序 */
.qspi :
{
. = ALIGN(4);
*(.qspi)
*(.qspi*)
. = ALIGN(4);
} >OSPI
另外,你还得准备基于外部QSPI的下载算法驱动文件。ST公司有基于各类现存开发版和常用存储器件准备了一些下载驱动,在STM32cubeProgrammer里可以看到现存的。如果没有就得自己写了。
Hi xmshao
我将您说的这据嵌入到ld文件里面了。然后编译后会报错误。
我参考了H7 emwin的例子,可以将编译出来的文件放到外部FLASH里面运行了。
修改方式是:
.externFlash :
{
. = ALIGN(4);
led.o(.text .text)
. = ALIGN(4);
_eQSPI = .; } >SPI_FLASH
但是每次都手动添加,项目复杂了后,还是不好处理。