This is the mail archive of the ecos-devel@sourceware.org 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: RedBoot built with gcc 3.4.4


On Mon, 12 Feb 2007, Kurt Siedenburg wrote:

I'd be interested in the answer to this question also - although our
situation is different:

Yes, looks like your situation is very different. You have a runtime problem, whereas I have a compile / link-time one.


...and I am afraid I am not much nearer to the solution now than before. I thought I identified the exact crash location with the help of debugging printf's, but it looks like the crash / run behaviour differs also with the amount and kind of debugging.

Now what I currently cannot understand is how one is supposed to handle the .fixed_vectors section (ARM). This section contains some objects, which are allocated in packages/hal/arm/arch/current/src/vectors.S (although, I don't see any need for assembly, couldn't one just use an appropriate __attribute__ and define those objects in a C file?) and then should be described in the system linker script using the macro:

#define SECTION_fixed_vectors(_region_, _vma_, _lma_) \
    .fixed_vectors _vma_ : _lma_ \
    { FORCE_OUTPUT; KEEP (*(.fixed_vectors)) } \
    > _region_

in packages/hal/arm/arch/current/src/arm.ld. Now, those objects will be written at run time, so, the section has to be in RAM. However, I do not understand how this is achieved? As you dont have any loader, you have to initialise it explicitely like the .bss or the .data, which I can perfectly recognize in the above 2 files - as _start and _end addresses are defined, and then the area between them is either cleared (for .bss) or copied from the original image location (.data). But I don't understand how this is supposed to work with .fixed_vectors.

Please, explain.

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany


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