我目前正在研发飞思卡尔Vybrid(VF6xx)MCU,尝试配置外部LPDDR2 DRAM芯片。
我遇到了DRAM的一些奇怪行为(内存映射到0x8000_0000):当在断点处停止时,每次我在调试器中读取它时,DRAM似乎仍然会改变。
有谁知道可能导致这种情况的原因?
干杯!
答案 0 :(得分:0)
我最终找到了问题的答案。
事实证明,DRAM设置定义了错误的地址引脚。制造商为定义该位的寄存器提供了推荐值,但结果证明这是错误的。
对于未来的googlers:Vybrid参考手册修订版7& 8建议DDR3和LPDDR2的DDRMC_CR73 [APREBIT] = 0xA。这将DDR_A10 / CA10指定为地址引脚。 JEDEC标准将DDR_A0 / CA0指定为地址引脚,因此正确的值应为: DDRMC_CR73 [APREBIT] = 0x0 。