完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们有明显的 SDRAM 损坏问题。这些都是间歇性的,通常每隔几个小时运行一次。我们想知道这是否发生在其他人身上,或者它是否符合任何已知问题。
我们的电路板上发生了这种情况,但也能够让它在 NXP MIMXRT1060-EVK 电路板上失败。 我们在 0x80000000-0x80800000 处有一个 8MiB DRAM,并将 MPU 配置为将默认 WT 缓存属性覆盖为 WBWA,以避免 ARM 勘误表 #1259864。所以我们使用“Writeback”模式而不是默认的“Writethrough”。 问题似乎是有时数据无法写入SDRAM。我们有完整的跟踪(使用带有指令和数据跟踪的高速调试器)显示“0”被写入 SDRAM 位置和从中读取,20,800 条跟踪线之后,写入了一个不同的值,但随后该位置被读回为“0”。此跟踪是从 CPU 的角度来看的,无法显示数据是否以及如何从缓存刷新回 SDRAM,或者是否完全被写回。 我们已经检查并更改了所有 SEMC SDRAM 时序参数,使它们更严格,然后更宽松。我们使用了 NXP SDK DCD SEMC 设置。我们已将端口设置更改为更高和更低的阻抗,以及不同的转换率。这些更改都不会影响此损坏。 我们没有运行 SDK 示例代码,它不能支持我们需要的同时操作。我们正在通过 USB 传输 5MB/秒,同时写入 EMMC,并且 CPU 忙于大约 70%。代码和大部分数据一样位于 SDRAM 中。我们也在使用 I-TCM、D-TCM 和 OCRAM2。 USB 和 EMMC 使用自己的 DMA 进出 SDRAM,与 CPU 重叠。我们的驱动程序正在执行为此所需的所有缓存刷新和失效操作。 通过将 SEMC SDRAM 刷新率提高到非常高的速率,可以使这种故障更频繁地发生。像那样配置时,它每隔几分钟就会失败。 我们找到了两种方法来阻止腐败。 设置 NIC-301 互连的 m_b_0 (Cortex-M7) 端口的 fn_mod 寄存器以将写入 发布能力限制为一个(将“2”写入地址 0x41442108)似乎可以阻止它发生。 在 ARM CPU 中设置“DISRAMODE:为回写分配内存区域禁用动态读取分配模式”也会停止它。这是通过将 0xe000e008 设置为 0x00001800 来实现的。 这两者都会影响 CPU 可以突发到 SDRAM 的最大速率,正是这种高突发速率(从 CPU 通过缓存、AXI、NIC、SEMC 到 SDRAM)似乎触发了这个问题。增加 SDRAM 刷新率可能会对内存系统和写入管道施加“背压”。 我们在 EVK 上遇到了这个问题,但是我们无法生成一个程序来仅基于 SDK 代码来演示这个问题,所以请不要提出要求。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1839个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36116 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4233 浏览 0 评论
5832 浏览 1 评论
6605 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4054 浏览 0 评论
495浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
469浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
471浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
555浏览 2评论
596浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-31 04:22 , Processed in 1.074696 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191