[ECOS] Dual Port RAM on MPC8xx

Will Wagner will_wagner@carallon.com
Wed Apr 20 10:50:00 GMT 2005


I'm trying to understand how the allocation of DPRAM is done in the 
function _mpc8xx_allocBd in cpm.c.

Can someone explain why nextBD is initialised as:

static short *nextBd = (short *)(CYGHWR_HAL_VSR_TABLE + 0x1F0);

Presumably this is so that redboot and an application can cooperate when 
using the DPRAM? Why is this address chosen and when is it's contents 
ever initialised?

Presumably it may not have been initialised as in _mpc8xx_allocBd there 
is this code:

     if ((bd < QUICC_BD_BASE) || (bd > QUICC_BD_END)) {
         // Most likely not set up - make a guess :-(
         bd = *nextBd = QUICC_BD_BASE+0x400;
     }

I guess this is starting 0x400 into the DPRAM so that an apllication 
doesn't reuse any DPRAM used by redboot? Is this correct? I can find 
where redboot ever initialises this memory so I can't see how it works.

Any help in understanding this is much appreciated.

Will Wagner


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



More information about the Ecos-discuss mailing list