Ответ: а как же. :) посмотри на имя каталога в будке внимательно
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено a2005z 28 января 2005 г. 19:02
В ответ на: Народ, кто в Keil C51 хорошо разбирается... расскажите мне тупому как обьявить линковщику фиксированный адрес для размещения процедуры? отправлено Agent0327 28 января 2005 г. 16:30

(см. стр.289) и проверил на примере.


#include

void execute( char pr ){
printf( "%bd", pr );
}
void main( void ){
execute( 13 );
}


Ставим файл в проект как обычно. компилим его. получем результат и смотрим в файл имя_проекта.м51. получем примерно такое.

CODE 0414H 000CH UNIT ?C_C51STARTUP
CODE 0420H 000BH UNIT ?PR?_EXECUTE?Z
CODE 042BH 0005H UNIT ?PR?MAIN?Z
CODE 0430H 0004H UNIT ?CO?Z

например хотим разместить функцию void execute( char pr ) по адресу 0х800. Для этого идем в project->option_for_target->BL51_locate. убираем верхнюю птичку и в поле Code пишем ?PR?_EXECUTE?Z (0x800). После снова компилим проект и в файле имя_проекта.м51 наблюдаем

CODE 0414H 000CH UNIT ?C_C51STARTUP
CODE 0420H 0005H UNIT ?PR?MAIN?Z
CODE 0425H 0004H UNIT ?CO?Z
0429H 03D7H *** GAP ***
CODE 0800H 000BH UNIT ?PR?_EXECUTE?Z
.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru