The ARM Procedure Call Standard says that the first four arguments are passed in R0 to R3. So if you put the ResultRAMCheck in R0 just before the call to the main function you are ok. I would not use a global variable, because it is a bit more complicated. Regards, Richard. ateichtmann wrote: > > Hi, > > im using CrossWorks and LPC2106 and have the following question: > > I want to make a ram check before main (in the module crt0.s). > Therefore, i have to pass the result of the ram check in some way to > main. Maybe, there are two solutions: > > 1. Modify the main function to pass an argument from crt0: > int main(int ResultRAMCheck) > I dont know, how to modify main() in this way and how to pass an > argument from an assembler module to a C function. > > 2. define a global variable, that is known in main.c and in crt0.s > Im not sure, if this works, and i dont know how to declare global > variables in the assembler module. > > Thanks for all hints. > > Regards > Arvid > > > > > > ------------------------------------------------------------------------ > *Yahoo! Groups Links* > > * To visit your group on the web, go to: > http://groups.yahoo.com/group/lpc2000/ > > * To unsubscribe from this group, send an email to: > lpc2000-unsubscribe@yahoogroups.com > <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe> > > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of > Service <http://docs.yahoo.com/info/terms/>. > >
Message
Re: [lpc2000] Q: Global variables with C and ASM / pass argument from ASM to C function ?
2005-04-15 by Richard Duits
Attachments
- No local attachments were found for this message.