We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
My current project has 2 targets, For 1 the code starts at 0x0000 and for the other the code starts at 0x8000. I therefore modified STARTUP.A51 to give:
PUBLIC ?C_STARTUP #ifdef TOP CSEG AT 0x8000 #else CSEG AT 0x0000 #endif ?C_STARTUP: LJMP STARTUP1
PUBLIC ?C_STARTUP CSEG AT 0x8000 ?C_STARTUP: LJMP STARTUP1
Note that you put that definition for TOP in the C51 pane of the options dialog, while the source code in question is not C, but assembler. The assembler has its own options pane --- you'll have to add the definition there. Depending on the version of C51/A51 you have, it may not be possible to pass #define type macros on the command line. Use Ax51 style $if()'s then.
I already tried putting the definition TOP in the A51 pane in the box labelled Set but this did not work either. C51 Version is v7.06 A51 Version is v7.07
Not new enough. According to release note (see the "updates" page on this web site), the new command line option DEFINE for the assembler that you need for this was only introduced with the C51 7.07a update.