День добрый. Столкнулся с проблемой, связанную с тем, что надо написать процедуры на ассемблере, которые в свою очередь надо вызывать из С кода. Как не бился, не видит функции написанные на ASM. Делал так:
asm.s :
.extern InitRoutine .extern DoneRoutine
InitRoutine: mov R12, PC stdbm SP!, {R12, LR} ... ...
DoneRoutine: mov R12, PC ...
Затем в asm.h extern int InitRoutine(int param1, int param2); extern int DoneRoutine(int param1, int param2);
А в основной программе делаю:
#include "asm.h"
int main(void) { InitRoutine(1,2); .... DoneRoutine(3,4); .... }
Линкер выдает ошибку: undefined reference to `InitRoutine()'
Как можно заставить увидеть мою функцию?
|