[ECOS] Dual Port RAM on MPC8xx

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


Thanks very much for that. Not sure how I missed it.

In the alloc function instead of

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

Why not just check the reset has been called? Seems odd to need that guess?


Gary Thomas wrote:
> On Wed, 2005-04-20 at 11:38 +0100, Will Wagner wrote:
> 
>>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.
> 
> 
> Look about 10 lines below the "static short" line you quoted :-)
> This value gets set when the CPM has been reset.
> 
> The point is to keep track [minimally] of what DPRAM is in use
> and, yes, one wants applications to know and respect the allocations
> that RedBoot has already made.
> 
> The choice was just an unused place in memory.  This region of
> memory already holds similar data that is shared between RedBoot
> and applications.
> 


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