Working with WinARM2006xxxx (gcc v4.1.1), I am trying to access a variable defined in a c module from an assembly file in the following way: ad.c: short int ADBuffer[ADBUFFER_N]; //global short int* pADIn _attribute_ ((section (".ocram"))) ; //global fiq.s: LDR R8, =RamVariableBase //#OnChipRamBase, 0xb00000 ... ... str r10, [r8, #AD_IN_PTR_OFS] //store rd ptr this works ok, but i need to know AD_IN_PTR_OFS. I would like to do something like: ... ... str r10, [r8, #(pADIn-0xb00000)] //store rd ptr my gcc parameters: arm-elf-gcc -g -O2 -march=armv4 -mtune=arm7tdmi -nostdlib -fomit-frame-pointer -fno-strict-aliasing -Wall -Wl,-T,crx.ld -Wl,--section-start,.ocram=0xb00000 I would appreciate sharing your knowledge, experience regarding this issue! Thank You! Euler
Euler Megyer wrote: > I would like to do something like: > str r10, [r8, #(pADIn-0xb00000)] //store rd ptr I'm unsure if I understood the intentions of your code, but to me it looks like you're basically looking for the following: ldr r9, =pADIn /* Load address of pADIn (which is a pointer) */ str r10, [r9] /* Update pADIn (i.e. pointer value) */ Stephan
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.