This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: ARM port: how to handle ROM at address 0 without MMU ?


>> The thing is I have a platform that has:
>> - ROM at address 0
>> - no MMU
...
>> The question is: what do you think is the best way of modifying the
>> vectors.S file in order to handle this?

You will have to move the vectors to ram. For the interrupt vectors, place the table
in ram and modify the interrupt support routines in ecos: When a function registers a
new interrupt service routine it has to write to the new location in ram. When the
interrupt occurs the processor has to fetch the address from the new location in ram
(see the chip documentation for this, probably an instruction like 'ldr pc,
.address_of_memory_location')

The virtual vector table is used for communication between e.g. the redboot stub and
the program you want to debug. I guess you can just move the location of this table
to a fixed known location in ram. Compile redboot and compile your program. As long
as the location is the same for both, debugging should work.

Eric


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]