Это сильно зависит от ядра, с которым вы работаете.
Чипы Cortex-M3 могут изменять базовый адрес с помощью регистра смещения векторной таблицы (VTOR) в блоке управления системой.Некоторые реализации могут ограничивать возможные адреса.
Из "традиционных" микросхем (ARM7 / 9, Cortex-A / R), я думаю, ни одна из них не позволяет указать произвольную базу, хотя большинство из них могут переключаться между 00000000и FFFF0000, и некоторые позволяют использовать адрес «начала ОЗУ».
Однако, если у чипа есть MMU, вы обычно можете отобразить страницу ОЗУ в FFFF0000 и скопировать туда свои обработчики.Я верю, что это то, что делает Linux.