We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
something which is very tricky is that the BL jump addr is nearly correct
0x1F8003BC FFFF07C0 ???
and the correct position of the function is
0x200003BC
But I don't know if that could be a hardware problem (communication problem with the sdram or whatever) because the first jump to the function test() is working and this jump has also the above addr lines 0x200.... best regards Stefan
Why not try to load the code in simulator and compare the disassembler output with that of real hardware? Or better yet, pull the contents of memory from target board and compare it with linker output. This way you can rule out memory corruption etc.
Or better yet, pull the contents of memory from target board and compare it with linker output.
Which file do you mean? I only know the map file (linker addr map), where I can check the positions for the global variables and the functions...
I also took a look into the memory window and I can see at the position 0x20000530 the value EBDFFF9C. But where could I see the label (0x1F8003A8)?
0x20000530 EBDFFF9C BL 0x1F8003A8
I mean compare the actual executable code produced by the linker with the contents of on-board memory. The way I would do this is like this: convert the ELF file from the linker into plain binary with fromelf.exe, pull contents of memory into a binary file, compare the two files with some sort of binary file compare tool.