|
|
Имеется область памяти программ где находятся некоторые функции.
Размещение этой области жестко задано.
Это область boot, в ней находятся функции перезаписи, дешифрации, CRC, RS232. Которые хотелось бы использовать и из программы пользователя.
Положение функций в этой области (адреса) могут меняться.
Т.е положение функций в boot от времени будет меняться из-за неизбежных исправлений.
Имеется другая область памяти программ, из которой необходимо вызывать эти функции.
Эта область программ пользователя, загружаемая через RS232. Если она компилируется вместе с бутовой, то все ОК. Но у пользователя может быть старый бут. И адреса общих функций могут быть сдвинуты.
Поэтому хотелось иметь указатель на общую функцию в буте, а вот адрес в памяти, где этот указатель хранится держать на определенном месте.
Для ОЗУ это легко
void(*pfunc)(void) @0x200 = func1;
т.е. указатель pfunc на функцию func1 находится по адресу 0x200.
А как ,уважаемые коллеги и старшие товарищи, поместить этот указатель в память программ в виде const для его адреса.
Заранее благодарен.
E-mail: info@telesys.ru