Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SDRAM в AT32UC3A
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > AVR32
B7_Ruslan
Каким образом МК выбирает куда обращаться по адресу 0xD000_0000 - к SDRAM CS0 или к EBI SRAM CS1?

AT32UC3A Physical Memory Map
Device Start Address
Size
AT32UC3A0512
Embedded SRAM 0x0000_0000 64 Kbyte
Embedded Flash 0x8000_0000 512 Kbyte
EBI SRAM CS0 0xC000_0000 16 Mbyte
EBI SRAM CS2 0xC800_0000 16 Mbyte
EBI SRAM CS3 0xCC00_0000 16 Mbyte
EBI SRAM CS1/SDRAM CS0 0xD000_0000 128 Mbyte
USB Configuration 0xE000_0000 64 Kbyte
HSB-PB Bridge A 0xFFFE_0000 64 Kbyte
HSB-PB Bridge B 0xFFFF_0000 64 Kbyte
jasper
Это один и тот же пин. Он может использоваться, либо как чипселект для SRAM (CS1), либо как чипселект для SDRAM (SDCS0).
Соответственно, при обращении по адресу 0xD000_0000, какая память к этому чипселекту прицеплена, к той и обращается.
B7_Ruslan
МК сам не распознает тип памяти, подключенной к cs1. Память ему об этом сама не сообщит.
Вот что увидел в коде UC3 Framework (sdram.c):
Код
// Enable SDRAM mode for CS1.
  AVR32_HMATRIX.sfr[AVR32_EBI_HMATRIX_NR] |= 1 << AVR32_EBI_SDRAM_CS;
  AVR32_HMATRIX.sfr[AVR32_EBI_HMATRIX_NR];

Я понял, что EBI конфигурируется с помощью своего sfr в HSB Matrix.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.