[ECOS] ARM vectors.S question. Thank you.
Eric de Jong
list_ericdejong_10@gmx.net
Tue Jun 24 07:22:00 GMT 2003
>> In the linker script file the memory map is :
>>
>> memory map:
>> SECTION_fixed_vectors (ram, 0x20, LMA_EQ_VMA)
>> SECTION_rom_vectors (ram, 0x40000, LMA_EQ_VMA)
>> SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
no, this is not your linker file, it is the 'template' the linker file is
created from. The macro SECTION_fixed_vectors is expanded. You can find your
linker file in xxx_install\lib\target.ld
>>The "ice_thread_vector" is within section "fixed_vectors", so for question
>>what is the address of "ice_thread_vector" in code " ldr
>>r2,=ice_thread_vector" ( r2=0x20+offset(ice_thread_vector to fixed_vectors)
>>correct?) ? I check the final image using arm-elf-objdump -D a.out and
>>found out the value to be loaded into r2 is "150", so how can the code "sub
>>r2,r2,r1 // compute fixed (low memory) address" calculate the
>>address? thanks a lot
You are on the right track. Simplest method would be single-step (assembly)
through the code with a debugger on a target board and see wich values are put
into the registers. Note that while ice_thread_vector is put into a section,
this does not mean it is put in at offset 0. (it is sequential although, is
there code before the ice_thread_vector label?) Good luck.
Eric.
(sorry, I do not have the ICE macro defined)
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss
mailing list