MVME230x exception error on boot

Till Straumann strauman at slac.stanford.edu
Thu Nov 18 21:09:01 UTC 2004


Bill Nolan wrote:
> Hello again,  
>  
> I am having an exception durring boot of the sample applications. 
> 
> I saw a thread about this in the archives from last summer, But could
> not find how it was resolved. 
> 
> This is the original thread.
> http://www.rtems.com/ml/rtems-users/2003/august/msg00063.html
> 
>  
> My configuration is: 
>  Mvme2308 ( a mvme2307 with 128Mb memory ) 
> 
> We are trying to boot the sample app hello.exe from
> rtems-ss-20030703. 
> 
> No addons or additional softwhare yet.
> 
> Thank you again for any help. 
> 
> -- Bill 
> 
> below is the console output durring boot.
> 
> -----------------------------------------
> Welcome to rtems-ss-20030703(PowerPC/PowerPC 604/mvme2307) on MVME 2300
> -----------------------------------------
> OpenPIC found at C1000000.
> pci : Interrupt routing not available for this bsp
> Enabling MCP generation on hostbridge errors
> OpenPIC Version ? (2 CPUs and 17 IRQ sources) at 0xC1000000
> OpenPIC Vendor 0 (Motorola), Device 0 (Raven), Stepping 2
> OpenPIC timer frequency is 8333656 Hz
> Universe II PCI-VME bridge detected at 0xC1040000, IRQ 11
> Universe Master Ports:
> Port  VME-Addr   Size       PCI-Adrs   Mode:
> 0:    0x20000000 0x0F000000 0x10000000 A32, Dat, Sup
> 1:    0x00000000 0x00FF0000 0x1F000000 A24, Dat, Sup
> 2:    0x00000000 0x00010000 0x1FFF0000 A16, Dat, Sup
> Universe Slave Ports:
> Port  VME-Addr   Size       PCI-Adrs   Mode:
> 0:    0xC0000000 0x07F80000 0x80000000 A32, Pgm, Dat, Sup, Usr
> Overriding main IRQ line PCI info with 5
> exception handler called for exception 3

Exception 3 means that the MMU has no allowed mapping
for a effective/virtual address (probably no mapping at all).
The offending address is stored in DAR (it is 0x11180000).

What I usually do is creating a disassembly of the executable
(ELF file, not bootable image):

powerpc-rtems-objdump -dr app_elf_file   >  disas

and then I go manually through the stack backtrace.

I looked through my archives and found that the Paul's problem
at the time was caused by the firmware not properly shutting down\
the network interface prior to starting the (net-) loaded
image. This may or may not be your problem.
Instructions about how to make sure your interface is down are
appended.

If you have a hard time with the disassembly, you can send
me the disassembled output and I'll quickly go through and
check if I see something obvious [PPC is our production
platform and I'm interested in finding any bugs].

Till


PS: from off-line conversations around 20/8/2003

> Sounds good, congrats.
> 
> A few remarks:
> 
> - you should try the original (non-'paul') gesys with
>   reduced memory. You could also try if you can increase
>   the memory to 32M, 64M and 125M.
> 
> - I encourage you to use gesys in combination with EPICS
>   (that's what we do here at SSRL). You'll get a very
>   vxWorks'ish (look+feel) system.
>   Plus, it's easier to maintain. You can have one generic
>   system (gesys) for all of your IOCs.
>   All you need to do is minimal tweaking of EPICS'
>   CONFIG.Common.RTEMS file so the final linking step is
>   omitted and a relocatable object is built instead.
>   That one you can load into GeSys.
>   Let me know if I can be of any help.
> 
> - The high memory problem should be addressed. I'd start
>   with the prime suspect: the network interface/driver:
>   Here's a simple thing you can do:
> 
>    a) find the base address: at the PPCBug> prompt,
>       enter:
> 
>         PPC1-Bug> CSAR 0 e 0 0
>         Read Data =00091011
> 
>      If you get back, anything other than 00091011
>      or 00191011 (the DEC ID) you have to search the
>      right slot number (try others than 'e'). Once
>      you found the slot, enter (substitute your slot #)
> 
>        PPC1-Bug> CSAR 0 e 0 14
>        Read Data =3BFDFF80
> 
>      This gives you the PCI base address (notes:
>      the base address may be different on your board.
>      DONT use the base address reported by RTEMS - the
>      bootloader reconfigures the PCI bus)
> 
>      Finally, you have to add the constant 0xc0000000,
>      i.e. the base address as seen by the CPU is
>       ----> FBFDFF80
> 
>   b) load gesys with 'NBH'. Once PPCBug is in control,
>      DONT resize the memory, but reset the DEC network
>      chip (using YOUR base address, of course):
> 
>        PPC1-Bug>m fbfdff80
>        FBFDFF80 02E020FE? 01000000
>        **WARNING:NO MATCH**
>        FBFDFF80 000000FE? .
> 
>        The changed readback value (000000FE) confirms the
>        successful reset operation. Leave the 'M' command
>        typing a '.'
> 
>   c) Start the loaded system issuing 'GO'
> 
> See if you still get the 'strange PTE' messages
> (using 'gesys-paul' with the full sized memory)
> 
> Let me know about the results...
> 
> -- Till
> 
> BTW: what version is your firmware ('VER' command)?
> 
> 
> Paul D Jines wrote:
> 
>>
>>
>>
>> We have GREAT news.  (Thanks!)  With the memory size
>> changed, EPICS works!  After your suggestion about the ANSI
>> terminal, we tried gesys-paul1, and it worked fine with no
>> exceptions.  We checked the emulator we were using
>> (Hyperterminal on Windows), and the terminal type was ANSI,
>> so, suspecting a problem with Hyperterminal, we switched
>> over to Linux emulation (again with ANSI terminal type).
>> Using the different emulator, even the old gesys-paul works
>> with no exception 7.  It gets "strange PTE's" without the
>> memory size change, but no exception 3's.  EPICS works fine
>> with the memory size change (but still gets exception 3's
>> without the size change).  We're happy to be seeing our
>> first IOC errors!
>>
>> Thank you for helping us.  You have been a great help.
>> The old terminal emulator is in the trash bin now, and
>> we're going to reset the memory size after each boot.  If
>> there is anything that we can help you with, please let
>> us know.
>>
>> Thanks,
>>
>> Paul
>>
> 


>          Next PC or Address of fault = 1D17C
>          Saved MSR = 3032
>          R0 = 0
>          R1 = 36E80
>          R2 = 2FCD8
>          R3 = 3AF30
>          R4 = 0
>          R5 = 6E59800
>          R6 = 30000
>          R7 = 10000
>          R8 = F
>          R9 = 7F368D
>          R10 = 10000
>          R11 = 1118000
>          R12 = 1FE
>          R13 = 32924
>          R14 = 0
>          R15 = 0
>          R16 = 0
>          R17 = 0
>          R18 = 0
>          R19 = 0
>          R20 = 0
>          R21 = 0
>          R22 = 3032
>          R23 = 2E2A8
>          R24 = 10000
>          R25 = 30000
>          R26 = 1
>          R27 = 0
>          R28 = 30000
>          R29 = 34EB0
>          R30 = 7F368D0
>          R31 = 3AF30
>          CR = 44800042
>          CTR = 6E5980
>          XER = 20000000
>          LR = E0A8
>          DAR = 1118000
> Stack Trace:
>   IP: 0x0001D17C, LR: 0x0000E0A8
> --^ 0x00014324--^ 0x0000A620--^ 0x000040E0--^ 0x0000D32C--^ 0x00003CCC
> --^ 0x0000321C
> unrecoverable exception!!! Push reset button
> 





More information about the users mailing list