This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
i have an assembly function __a_MoveFW defined in a .asm file
I'm trying to use in my firmware so in main.cpp i've declared
extern "C" void _a_MoveFW();
and somewhere in the code i call _a_MoveFW();
but the compiler says
undefined first referenced
symbol in file
--------- ----------------
_a_MoveFW ./main.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking;
What am i doing wrong?
You are building with the newer application binary interface (ABI) called EABI, and not the older COFF ABI. Under EABI, symbol names are the same in C and assembly. The COFF ABI convention of adding an underscore "_" is no longer observed. The symbol name is _a_MoveFW in both C and assembly.
Thanks and regards,
-George