硬汉嵌入式论坛

 找回密码
 立即注册
查看: 793|回复: 3
收起左侧

[SPI/QSPI] 编译时将文件放在Flash区域用QSPI读取时返回地址无效

[复制链接]

9

主题

13

回帖

40

积分

新手上路

积分
40
发表于 2022-1-21 09:45:35 | 显示全部楼层 |阅读模式
我在链接脚本的时候将文件链接到flash地址,读取的时候返回地址无效

/* Specify the memory areas */
MEMORY
{
FLASH (rx)      : ORIGIN = 0x08000000, LENGTH = 2048K
RAM  (xrw)      : ORIGIN = 0x20000000, LENGTH = 128K
ITCMRAM (xrw)      : ORIGIN = 0x00000000, LENGTH = 64K
RAM_D1 (xrw)      : ORIGIN = 0x24000000, LENGTH = 512K
RxDecripSection (xrw) : ORIGIN =0x30000000, LENGTH = 128k
TxDecripSection (xrw) : ORIGIN =0x30020000, LENGTH = 128k
QSPI_FLASH (rx)      : ORIGIN = 0x90000000, LENGTH = 32m
}


  .fat_fs_img :
  {
      . = ALIGN(4096);
      __fat_fs_img_start__ = .;
      *fat12_fs.o(.data .data.*);
      __fat_fs_img_end__ = .;
  } > QSPI_FLASH



不管这里选择FLASH还是QSPI_FLASH 读取是中断函数HAL_QSPI_IRQHandler 的时候 flag是QSPI_FLAG_TE。


#define QSPI_FLAG_TE                   QUADSPI_SR_TEF  /*!<Transfer error flag: invalid address is being accessed*/


使用的是STM32H743XIH6开发板, 请问大神这种情况是怎么回事呢?




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-1-21 11:01:34 | 显示全部楼层
意思是QSPI_FLASH (rx)      : ORIGIN = 0x90000000, LENGTH = 32m定义的不正常?
回复

使用道具 举报

9

主题

13

回帖

40

积分

新手上路

积分
40
 楼主| 发表于 2022-1-21 11:14:44 | 显示全部楼层
.fat_fs_img     0x90000000        0x0
                0x90000000                . = ALIGN (0x1000)
                0x90000000                __fat_fs_img_start__ = .
*fat12_fs.o(.data .data.*)
                0x90000000                __fat_fs_img_end__ = .

map文件里面显示的地址是0x90000000 , 但是我用这个地址去读就会报无效地址的错误。
我就是想将一个文件编译到flash里面,然后代码可以读取这个文件。
我参考的例子是V7-032_QSP Flash的FatFS文件系统+QSPI Flash虚拟U盘(带文件系统,读每秒24.6MB)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107101
QQ
发表于 2022-1-21 11:24:30 | 显示全部楼层
hardie 发表于 2022-1-21 11:14
.fat_fs_img     0x90000000        0x0
                0x90000000                . = ALIGN (0x1000)
...

这种的,用此贴的方案更好吧

配置为内存映射模式。

爽,一种非常给力的STM32H7内部Flash和QSPI Flash混合运行程序的方式,不再需要用户单独制作BOOT和APP
https://www.armbbs.cn/forum.php? ... 1011&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 16:28 , Processed in 0.226220 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表