Hi,
I'm working with the AT91SAM9260 controller - but I think it's a software problem.
I try to go to another c-function located at 0x200003A8 but the assembler code is very different
//c-code: status = function(pEmac); //both variables are defind as well as the function 0x2000052C E1800006 ORR R0, R0, R6 0x20000530 EBDFFF9C BL 0x1F8003A8 -> there is the error
the whole programm is running in the sdram. How could I get the information for this BL jump in the program?
best regards Stefan
0x1F8003A8 is an location in the memory part of CS1 - so in my opinion there may no such jump...
Did you try to look at disassembly output at 0x1F8003A8?
yes of course
0x1F8003A8 FFFF07C0 ???
Did you expect 'BL 0x200003A8' keil tells me that this function is located at 0x2000... (in the symbol window).
and therefore I always get an undefined error!
ho I'm sorry - I misread your original post! Please ignore my previous response.
if I write too more lines befor the error occurs - then the addr changed
from:
to:
0x1F8003BC FFFF07C0 ???
I added these two lines
wait(); // turn on led AT91C_BASE_PIOA->PIO_CODR = led_mask[0];
The function wait was already defined
void wait (void) { unsigned short i=0; for(i=0; i<1000; i++); }
A few questions: Does anything work at all? Any part of code? Does firmware upload work correctly? Does external memory work correctly? Is memory layout for linker configured correctly? Could you post longer snippets of disassembled code? It's difficult to match C and assembly code in the samples you posted.