Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Q: Global variables with C and ASM / pass argument from ASM to C function ?

2005-04-15 by Richard Duits

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/>.
>
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.