硬汉嵌入式论坛

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

[FMC] FMC读函数问题

[复制链接]

17

主题

23

回帖

74

积分

初级会员

积分
74
发表于 2024-12-26 16:17:24 | 显示全部楼层 |阅读模式
本帖最后由 Luo990619 于 2024-12-27 08:47 编辑

目前环境是通过H743的FMC读FPGA那段的SRAM,使用        HAL_FMC_SRAM_Write_16b(&hsram, (uint32_t *)(SRAM_BANK_ADDR + WRITE_READ_ADDR1), fmc_buf1,1000)写; 使用HAL_FMC_SRAM_Read_16b(&hsram, (uint32_t *)(SRAM_BANK_ADDR + WRITE_READ_ADDR1), fmc_buf2,1000); #define SRAM_BANK_ADDR  ((uint32_t)0x60000000)             #define WRITE_READ_ADDR1     ((uint32_t)0x00100) 在keil里监控发现BUF1的值是给到BUF2,但在FPGA那的上位机上监控写的地址是128,而不是0x100=256(DEC),256/2=128,存在两倍的关系,这是为什么
1ms中断函数调用.png
MPU区域配置1.png
MPU区域配置2.png
SRAM初始化.png
改写库函数.png
时钟分频.png
时钟配置.png
原理图.png
回复

使用道具 举报

17

主题

23

回帖

74

积分

初级会员

积分
74
 楼主| 发表于 2024-12-26 16:55:36 | 显示全部楼层
是不是将HAL库代码  __IO uint32_t *psramaddress = pAddress;改写成        uint16_t *psramaddress = (uint16_t *)pAddress;导致的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2024-12-27 07:16:23 | 显示全部楼层
方便的话,你的原理图接线,FMC代码配置和楼主测试代码的截图下。
回复

使用道具 举报

15

主题

49

回帖

94

积分

初级会员

积分
94
发表于 2024-12-27 08:37:57 | 显示全部楼层
试试这样写:写入FPGA:*((uint16_t *)(0x64000000 + (offset << 1))),取地址。哥们我现在也在做FMC跟FPGA通信互传数据,读写我都是这么写的,没啥问题,fmc总线数据16位,地址复用模式,也16位
回复

使用道具 举报

17

主题

23

回帖

74

积分

初级会员

积分
74
 楼主| 发表于 2024-12-27 08:45:47 | 显示全部楼层
海米阿门 发表于 2024-12-27 08:37
试试这样写:写入FPGA:*((uint16_t *)(0x64000000 + (offset

好的
回复

使用道具 举报

17

主题

23

回帖

74

积分

初级会员

积分
74
 楼主| 发表于 2024-12-27 08:47:58 | 显示全部楼层
eric2013 发表于 2024-12-27 07:16
方便的话,你的原理图接线,FMC代码配置和楼主测试代码的截图下。

已上传
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115490
QQ
发表于 2024-12-28 07:19:28 | 显示全部楼层

没有看到MEMEORY WIDTH配置的多少。这个是关键。

对于地址线A7
8bit带宽情况下操作,程序端就是0x6000 0000 + 1 << (7+0)  = 0x6000 0000 + 0x80
16bit带宽情况下操作,程序端就是0x6000 0000 + 1 << (7+1)  = 0x6000 0000 + 0x100
32bit带宽情况下操作,程序端就是0x6000 0000 + 1 << (7+2) = 0x6000 0000 +  0x200

在你的FPGA端监测,都是A7
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-28 18:51 , Processed in 0.292214 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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