Hey, im using WinAVR and programing an ATMEGA32 in C.
Basically, I want to link my C program to asm via the:
asm(" ") command.
Im trying to define memory locations in C to exact memory locations so that I can then access them within the asm command line.
I have 5 variables:
unsigned char var1, var2, var3, var4, var5;
I know I could use pointers to a memory location, but im unsure how to do this.
Any help would be appreciated.
Thanks,
Oliver.
This method is completely compiler-independent, simple, and straightforward:
#define var1 (*(volatile unsigned char *)0xDEADBEEF)
#define var2 (*(volatile unsigned char *)0xDECAFBAD)
#define var3 (*(volatile unsigned char *)0xBADC0DE)
etc.