Неожиданное поведение DRAM, когда MCU остановился на точке останова

В настоящее время я работаю над микроконтроллером Freescale Vybrid (VF6xx), пытаясь настроить внешний чип LPDDR2 DRAM.

Я испытываю странное поведение с DRAM (память сопоставлена ​​с 0x8000_0000): при остановке на точке останова DRAM, похоже, все равно меняется каждый раз, когда я читаю из него в отладчике.

ARM DS-5 - вид памяти DRAM, обновляемый с интервалом в 1 с

Кто-нибудь знает, что может быть причиной этого?

Ура!

1 ответ

Решение

В конце концов я нашел ответ на вопрос.

Как оказалось, настройка DRAM определила неверный адресный контакт. Производитель предоставил рекомендованное значение для регистра, определяющего этот бит, но это оказалось неверным.

Для будущих гуглов: Справочное руководство Vybrid, редакции 7 и 8, рекомендует DDRMC_CR73[APREBIT]=0xA для DDR3 и LPDDR2. Это назначает DDR_A10/CA10 в качестве адреса адреса. Стандарт JEDEC определяет DDR_A0/CA0 в качестве адресного контакта, поэтому правильное значение должно быть: DDRMC_CR73 [APREBIT] = 0x0.

Другие вопросы по тегам