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]

problem with redboot, virtual vectors and ecos app


Hi,

I'm using a virtual vector call to read the contents from the flash config area. So far everything was working fine.
Now I'm in the situation where most of the RAM is used.
I wondered what would happen if all of the RAM is used and tried it.

Result: the virtual vector i.e. the reading of the flash config data doesn't work anymore.

The reason seems to be that the virtual vector call for reading the flash config data reads the data from RAM. In redboot/current/src/fconfig.c, load_flash_config() Redboot reads the data from the flash into RAM at an address, which is located at the upper end of the available RAM. If later on the VV for reading the flash config is called from a running ecos application, it looks at this same address in RAM.
Now it seems to be the problem that the linker when linking the ecos application doesn't know that it shouldn't use the area of the RAM which is used by Redboot. So when the application starts this memory is overwritten and the VV call won't find the flash config data where it once was.

What's the best way to solve this problem ?
Manually defining a section in the ldi file which covers this memory area ? Can this be done somewhat automatic ? Other suggestions ?

Bye
Alex

--
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]