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

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

[复制链接]
Roy.Liu 提问时间:2019-12-31 10:04 /
采用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进行写保护了?有无方法可以解除这个写保护?

收藏 评论4 发布时间:2019-12-31 10:04

举报

4个回答
toofree 回答时间:2019-12-31 11:53:19
你说的Flash都是指SPI Flash吗?FPGA是上电自动配置,还是MCU读取Flash内容,然后去配置FPGA?
最终还得看FPGA程序是如何写的
Roy.Liu 回答时间:2020-1-2 08:39:23
Flash是SPI的,上电后,STM32的1个引脚电平变化去触发FPGA,然后FPGA再从Flash中读取数据并进行配置。手上没有FPGA的源代码程序。
Roy.Liu 回答时间:2020-1-2 09:41:19
手上只有烧录至Flash中用来配置FPGA的二进制文件。由于读操作都是正常的,写操作只有个别地址可以实现,绝大部分区域都是只读的,因此STM32读写FPGA内部SRAM的程序应该也是没有问题的。现在怀疑是FPGA中的对这些无法成功写入的SRAM区域进行了写保护处理。有无可行的方法在不影响原FPGA程序正常运行的情况下,去除这个写保护状态呢?
Roy.Liu 回答时间:2020-1-2 09:50:05
STM32和FPGA之间除了FMC总线外,还有独立的三根握手线,分别是用于启动FPGA进行自动配置、FPGA配置状态、FPGA配置已完成。手上只有烧录至Flash中用来配置FPGA的二进制文件。由于SRAM读操作都是正常的,写操作只有个别地址可以实现,绝大部分区域都是只读的,因此STM32读写FPGA内部SRAM的程序应该也是没有问题的。现在怀疑是FPGA中的对这些无法成功写入的SRAM区域进行了写保护处理。有无可行的方法在不影响原FPGA程序正常运行的情况下,去除这个写保护状态呢?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版