STM32
直播中

赵淑洁

7年用户 853经验值
私信 关注
[问答]

STM32访问FPGA内部SRAM部分区域为什么只能读不能写?

采用STM32F427+FPGA+Flash。
STM32通过FMC总线访问FPGA内部SRAM,起始地址为0x60000000;
Flash中存储FPGA的配置数据,STM32和FPGA均可通过SPI总线访问Flash;
FPGA已经被配置OK;
因为新增加了功能,需要通过STM32读写FPGA内部SRAM的特定区域。测试时却发现只有地址0x60000004、0x60001004、0x60002004、0x60003004可读可写,而其他所有区域均是只读的,但现在想要在这些只读区域写入新的数据。
是不是因为FPGA在完成配置后,就自动将这些内部SRAM进行写保护了?有无方法可以解除这个写保护?

回帖(1)

孙伟

2024-4-16 15:58:26
STM32和FPGA之间除了FMC总线外,还有独立的三根握手线,分别是用于启动FPGA进行自动配置、FPGA配置状态、FPGA配置已完成。手上只有烧录至Flash中用来配置FPGA的二进制文件。由于SRAM读操作都是正常的,写操作只有个别地址可以实现,绝大部分区域都是只读的,因此STM32读写FPGA内部SRAM的程序应该也是没有问题的。现在怀疑是FPGA中的对这些无法成功写入的SRAM区域进行了写保护处理。有无可行的方法在不影响原FPGA程序正常运行的情况下,去除这个写保护状态呢?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分