OSE5.1/PPC405 memory layout constraints?

Hi,

I was wondering whether there are any PPC405-specific memory layout constraints.

I am trying to get OSE5.1 (some embedded RTOS) running on a PPC405 embedded system. It went well on a dedicated evaluation board (Memec VP20, VirtexII-Pro), but "moving" to the target system failed so far.

There is a 32MB SDRAM located at 0xFC000000 - 0xFDFFFFFF. The OS is configured to use that memory starting at 0xFC900000. The gap between 0xFC000000 and 0xFC900000 is used for the exception vector area and system start up logging.

Since the original OS configuration expected the SDRAM at 0 -

0x01FFFFFF, and thus vector base is at 0, I was wondering if 0xFC000000 is still OK? I read that address has to be 64k-aligned.

Is there a default setting for the PPC405 that the exeception area has to start at 0?

Thanks in advance

Florian

XPost to comp.sys.powerpc.tech & comp.arch.embedded

Reply to
Florian Boelstler
Loading thread data ...

Florian, without knowing OSE5.1 but with the experience of having written at least one (pretty fat) OS I would speculate that the problem is not having memory at 0. You can relocate the vectors, sure, but it could well be that the OS relies on some addresses in the lowest

64k for sort of "direct" access (I do it and if you deprive DPS of the RAM at 0 just like that all you can expect is a complete mess). If you could somehow capture whether it attempts such accesses this might be revealing. Again, this is only speculation based only on related, not direct experience so please take it with due caution.

Dimiter

------------------------------------------------------ Dimiter Popoff Transgalactic Instruments

formatting link

------------------------------------------------------

Reply to
Dimiter Popoff

Hi,

I also configured the OS regarding the relocated vectors (who knows whether there is something hard-coded left).

Nevertheless I will hopefully get a new hardware design in a while, that matches the address map of the evaluation board.

Florian

Reply to
Florian Boelstler

Hai,

Regarding the ppc405: this architecture comes with the Exception Vector Prefix Register. Your bootstrap, the code that inits the board, should set this register conform the physical memory.

Ose (5.1) has a config parameter that enables you to tell the kernel where the exception table ought to be. In your case equal to the EVPR, but perhaps there is no need to configure it (i.e. the kernel might just take the EVPR setting).

Regards,

Bartjan

Reply to
Bartjan van der Meer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.