STM32
直播中

李微波

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

stm32f767zg外扩sram第一次读写没问题,再次直接死机的原因?

代码是用cubemx生成的,自己加了一个读写测试,第一次可以连续的读写外扩的整片内存,也可以只读写一个地址,都可以成功,之后再次读写程序就死机了,直接读取地址和调用库里的读写函数结果也一样。cubemx配置如下,工程中只有fmc相关代码,排除了其他影响,sram芯片的型号是is61wv204816bll,时序加大试过也不行,类似配置在407上测试过可行,真的没法了,跪求各位大佬指点。

回帖(1)

刘丰标

2024-4-16 16:32:50
根据您提供的信息,可能有以下几个原因导致芯片死机:

1. 时序问题:尽管您已经将时序参数加大,但可能还是存在某些时序要求没有被满足。建议您再次仔细检查时序参数配置是否正确,并根据SRAM芯片的规格书确定正确的时序要求。

2. 写入冲突:在SRAM进行连续读写时,可能会出现写入操作正在进行时读取相同地址的操作。这可能会导致冲突和死机。您可以尝试在连续读写操作之间添加延时来避免此问题。

3. 中断/错误处理:请确保您的代码正确处理了可能发生的中断和错误情况。如果在读写操作中发生中断或错误,可能会导致死机。

4. 电源问题:芯片死机还可能与不稳定的电源供应有关。请确保芯片和外部SRAM模块都有足够稳定的电源供应,并且电源电压和电流满足要求。

如果您已经排除了以上可能的原因,并且仍然无法解决问题,可以尝试以下措施:

- 将代码分为较小的部分进行调试,以确定具体引起死机的代码段。
- 使用调试器在芯片死机时进行实时调试,查看相关寄存器和变量的值,以便确定具体的错误原因。
- 参考SRAM芯片的应用笔记或用户手册,查看是否有关于与STM32系列芯片的集成问题的特定建议或示例代码。


举报

更多回帖

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