View Single Post
  #4   Spotlight this post!  
Unread 10-02-2009, 07:24
gvarndell's Avatar
gvarndell gvarndell is offline
Software Engineer
AKA: Addi's and Georgie's Dad
FRC #1629 (GaCo)
Team Role: Parent
 
Join Date: Jan 2009
Rookie Year: 2008
Location: Grantsville, Maryland
Posts: 350
gvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond reputegvarndell has a reputation beyond repute
Re: Target Exception - Exception in Kernal Task

Quote:
Originally Posted by Thxe View Post
Hello, I'm still trying to get the Simple Template to work on our robot. I am able to successfully load the program to the robot, however I get the following error message:
Code:
VxWorks6x_10.25.35.2: Exception in Kernel Task FRC_RobotTask:0x133bd60 at pc=0x8

Vector 0x700: Program Exception  status=0x0

The debugger is already attached to debug this exception.
I am using the following settings

Main
entry point FRC_UserProgram_StartupLibraryInit
no arguments
priotity:100
Stack size: 0x20000
Advanced Options: {Options=0x10000010}

Downloads
SimpleTemplate.out Symbols(check) Reload(uncheck) Options:-plugin:nounload

Common
Debug(check)

Thxe
I'm afraid this won't be much help but a little insight perhaps.
Vector 700 means the CPU has encountered an illegal instruction.
If what you pasted above is not truncated, and the program counter (PC) was indeed 0x8, then somehow the CPU jumped to (most likely) code address zero.
How would that happen?
If you loaded a module that wasn't fully and correctly linked (unresolved externals) then that code would very likely end up making a function call to address 0.
Of course, there are many other ways this can happen -- including stack overflow or corruption.
And C++ makes this more interesting because it invites some devilishly clever ways to end up executing at an invalid address.
Reply With Quote