Цитата
Перерыл всю имеющуюся у меня документацию на этот камень, но не смог найти ответ на простой вопрос - начальные адреса для 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 внешней шины нету, так что забей на них =)