Пытаюсь в Си вставить процедуру на ASM, вот вопрос возник…
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено JTAG 28 августа 2003 г. 16:25

Вопрос по описанию функции написанной на ASM.
Вот программа на Си, файл main.c
#include // include for atmega8
#include
#include // Include intrinsics
#include
//----------MAIN----------MAIN----------MAIN----------MAIN----------MAIN---------
int addr;
void main(void)
{
addr=0;
while (1)
{//0
addr++;
write_page (addr,0x03); // Процедура написана на ASSEMBLERE
}//0 end while
}//end main

Вот программа на ASSEMBLERE
NAME assembly(16)
PUBLIC write_page
RSEG CODE
write_page: ;Процедура WRITE PAGE
RCALL WAIT_SPMEN ;Wait for SPMEN flag cleared
MOV R31,R17
MOV R30,R16 ;move adress to z pointer (R31=ZH R30=ZL)
OUT SPMCR, R18
SPM ;Store program memory
DW 0xFFFF ;For future part compatibility, instruction alignment
NOP
RJMP WAIT_SPMEN ;Wait for SPMEN flag cleared
END

Эти два файла включил в проект на IAR C , при компиляции IAR ругается пишет по поводу функции write_page “ function declared implicitly” (функция декларирована не явно).
Как эту функцию нужно описать?
P.S. Reference Gude на IAR’овский компилятор читал, не помогло

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

Ответы



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

E-mail: info@telesys.ru