Yay! for mvme5500

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Thu Feb 24 18:20:51 UTC 2005


Till Straumann wrote:
> Peter Dufault wrote:
> 
>> I did "hello world", finally, on the MVME5500 on 4.7
>>
>> A few "heads up", though.  Take these with a grain of salt since I'm 
>> just starting out, but I think they're real problems.
>>
>> 1. The linkcmds in the BSP in 4.7 (and supplied for 4.6) don't seem to 
>> correspond to the linkcmds used to build the "mvme5500-cexp.bin" that 
>> came with the MVME5500 patches for 4.6.  That binary obviously starts 
>> at 4000000, but the linkcmds put the start at 4000100.  Maybe the 
>> folks at Brookhaven only use incremental linking using cexp as a boot 
>> loader and haven't noticed?  Don't get me started on "incremental 
>> linking considered dangerous", you should see some of the vxWorks 
>> startup scripts I've seen.

No clue on this one.

>> 2. bspstart.c is calling "initialize_exceptions()" before setting up 
>> Cpu_table.  For me (and I hope this is how it should be) this results 
>> in a call to mpc6xx/exceptions/raw_exception.c, and that checks 
>> Cpu_table.exceptions_in_RAM as a boolean to decide what to do.  Since 
>> I kept carefully zeroing out memory for repeatability before starting 
>> things up, that was testing false, and nothing was working. When I saw 
>> what was going on I initialized Cpu_table.exceptions_in_RAM to 1 
>> before calling initialize_exceptions(), and then things started 
>> working. (I assume that test is done before BSS is defined to be 
>> cleared out). 
> 
> 
> Hmm - this seems to be broken by 4.7 ? The code flow in my 4.6 BSP is 
> different:
> 
> libbsp/powerpc/shared/vectors/vectors_init.c:initialize_exceptions()  
> (calls)->
> libcpu/powerpc/mpc6xx/exceptions/raw_exception.c:mpc60x_init_exceptions()
> 
> neither of which is using the Cpu_table...

I think it is doing so in both Till.  The  mpc60x_get_vector_add() 
checks Cpu_table.exceptions_in_RAM and it is called from
mpc60x_init_exceptions() if I am reading the code correctly.

The 4.6 and 4.7 versions of 
libcpu/powerpc/mpc6xx/exceptions/raw_exception.c are very close to 
identical.

> -- Till
> 
> 
>>
>>
>> A quick check of other powerpc bspstart.c's shows that they also call 
>> initialize_exceptions before setting up Cpu_table, they should maybe 
>> be checked for similar problems.
>>
>> 3. I get all my "Hello World" output, but the Motorola "MOTBoot" 
>> dramatically complains when it finishes up.  I assume this is just my 
>> getting started.

Some BSPs do something nasty to get back to the monitor.  It could be 
that.  Or it could be an RTEMS interrupt that occurs after returning to
the ROM monitor.    What is Exception 3? And where in the code did it
interrupt?

>> Peter
>>
>> Peter Dufault
>> HD Associates, Inc.
>>
> 
> 


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list