реклама на сайте
подробности

 
 
> TMS470R1A256 memory map непонятки
Vladimir Chekin
сообщение Apr 12 2007, 04:12
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 16-03-07
Из: МО, г.Балашиха
Пользователь №: 26 210



Люди, хелп. Перерыл всю имеющуюся у меня документацию на этот камень, но не смог найти ответ на простой вопрос - начальные адреса для RAM и HET RAM. В описании камня пишут:
---------
Memory Selects
Memory selects allow the user to address memory arrays (i.e., flash, RAM, and HET RAM) at user-defined
addresses. Each memory select has its own set (low and high) of memory base address registers (MFBAHRx
and MFBALRx) that, together, define the array's starting (base) address, block size, and protection.

The base address of each memory select is configurable to any memory address boundary that is a multiple of
the decoded block size.
---------
Как понимать "user-defined"? Разве начальный адрес внутренней RAM не должен быть физически задан в адресном простанстве конкретного камня?

Зачем для FLASH и RAM по два базовых адресных регистра? Правильно ли я понимаю, что перед тем как первый раз обратиться к RAM я должен проинициализировать пару MFBAxR2 и(или)MFBAxR3. Для чего нужны Coarse select регистры MCBAxRx?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IV_K
сообщение Apr 12 2007, 11:47
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 17-06-05
Пользователь №: 6 087



Цитата
Перерыл всю имеющуюся у меня документацию на этот камень, но не смог найти ответ на простой вопрос - начальные адреса для RAM и HET RAM

при старте начальные адреса памятей не определены, значений по умолчанию нет, находятся где угодно =) . при работе из рама отладчик должен запускать макрос для инита карты памяти. при работе из флеши код начинает выполняться из первого сектора флеши с адреса 0 и этот код должен первым делом инициализировать карту памяти в low_level_init() или в cstartup()
Цитата
Как понимать "user-defined"? Разве начальный адрес внутренней RAM не должен быть физически задан в адресном простанстве конкретного камня?

для данных камней все делается через регистры (MFBAHRx and MFBALRx) и физически отображается на любой диапазон адресов
Цитата
Зачем для FLASH и RAM по два базовых адресных регистра? Правильно ли я понимаю, что перед тем как первый раз обратиться к RAM я должен проинициализировать пару MFBAxR2 и(или)MFBAxR3.

понимаешь правильно, сперва надо инициализировать.
// RAM is 12K at 0x00400000 is einitialized as follows
// Activate RAM at 0x00400000 that is connected to memory select 2,
// set size to 8KB
MFBAHR2 = 0x00000040;
MFBALR2 = BLOCK_SIZE_8K;

// RAM is 4K at 0x00402000 that is connected to memory select 3,
// set size to 4KB
MFBAHR3 = 0x00000040;
MFBALR3 = 0x00002030;
кусок кода из примера (рам состоит из 2-х частей.. 8К и 4К)

Цитата
Для чего нужны Coarse select регистры MCBAxRx?

для генерации чипселектов к внешней памяти, у 256 внешней шины нету, так что забей на них =)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 11:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016