I have a sample application with a UML tool (Rhapsody) I use the default startup.a51 file, then I provide a idf3main.c file where main() is defined. When I compile / link then compilation looks fine, but the linker complains:
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: MAIN MODULE: C:\ND\KEIL\C51\LIB\C51L.LIB (?C_INIT)
Remove the arguments from the main function and declare main with a void argument list. No arguments are passed to main in C51. Jon BTW. This is completely a guess. Let us know if this was the problem.