какая разница куда он мапиться изначально
когда его положение меняется программно в начале
перепрограммированием DMA на нужные адреса одинаковые для всех...
Вы предлагаете написать что-то вроде универсального "монитора", с функциями, и вставлять его в каждую программу. В принципе, это должно сработать.