Ниже приведена карта памяти для Cortex-M3 DesignStart Eval.Конечно, это Cortex-M, а не ATM7TDMI, но это хорошо в качестве примера.
Здесь вы можете видеть, область FLASH, различные области расширения, периферийные устройства и различные типы оперативной памяти.Вы можете сравнить это с картой памяти LPC2140, чтобы проверить соответствующие адреса для вашего устройства.
Как правило, для программного кода области FLASH доступны только для чтения (для изменения FLASH требуется специальная последовательность управления, специфичная дляактуальная часть).Области, отмеченные как расширение на этой диаграмме, не имеют ничего.Доступ к этим должен неисправен (с идеалистической точки зрения), но также может быть просто проигнорирован.В DesignStart это регионы, где дизайнеры могут добавлять свое собственное оборудование.Единственная область, которую ваш код может надежно использовать для хранения с возможностью чтения / записи, - это области ОЗУ.ARM-7 не имеет четко определенной карты памяти ARMv7-M, но для устройства LPC2140 вы можете быть уверены, что ОЗУ находится между 0x40000000 и 0x40001FFF (а также FLASH начиная с 0x00000000).
Архитектура ARM позволяет использовать область кода в качестве данных (так что литералы могут быть встроены в код и доступны как переменные).Это не гарантирует, что память кода может быть изменена.
Рис. 4-1 из ARM100894_0000_00_ru