IPC@CHIP® RTOS-PPC – API Documentation
The ERRORS shell command lists system and application program faults to the screen.
This error record is held in the system's non-volatile RAM area. It indicates the cause of the most recent system fatal error which lead to a watchdog reset when the system was not able to continue operation.
The total number of shut-down faults that have occurred since the last time the system's fault history was reset ('R' command line option) will be indicated.
The set of shut-down faults listed here are followed by a brief explanation as to what causes the respective fault.
This error record is held in the system's non-volatile RAM area. A one deep buffer records the most recent exception such as an MMU violation. These errors do not necessarily lead to a system shut-down, but in some cases they may. Faults which occur within interrupt service procedures will lead to a system shut-down. Faults in tasks will lead to that specific task being automatically killed by the system, unless this task has registered a TRY/CATCH exception handler on its program stack.
A count of the total number of recorded faults is displayed, followed by details for the most recent fault. Data is stored only for this most recent exception, which will be overwritten by any subsequent.
The 'D' command line argument to the ERRORS shell command can be used to dump the contents of the CPU's registers at the time of this exception to allow lower level fault analysis. Note that the floating point registers are not recorded unless the task owned the FPU at the time of the exception.
Here is a mapping between PowerPC exception vectors and the corresponding text messages shown on the console.
These messages indicate various system problems.
The flash memory problems and the internal error highlighted below with bold print are non-volatile messages. These will persist across power resets until the ERRORS RESET command is used to clear them.
All other messages are cleared by a power reset.
CORRUPT MEMORY ERROR
Memory corruption detected
TCP/IP INTERNAL FATAL ERROR, Task taskID
The specified task has been suspended due to encountering a fatal error in the system's TCP/IP stack.
REACHED TCP/IP MEMORY LIMIT
The TCP/IP memory limit specified in the chip.ini file has been reached.
TCP/IP MEMORY ALLOC ERROR
TCP/IP stack attempted an allocation from the system heap. This allocation failed.
FATAL NETWORK ERROR: n
The Ethernet device driver has encountered a failure. The number provides an indication where this failure was detected.
FLASH WRITE (or ERASE) ERROR ...
Flash memory is defective. Repeated attempts to modify flash memory contents failed. (Flash memory holds the A: drive and @CHIP-RTOS-PPC image.)
FLASH WRITE (or ERASE) WEAK ...
Flash write required more than a single write attempt before it verified. (This error would indicate that the flash memory is nearing the end of its life span.)
LOW MEMORY ERROR: Task taskID
An attempt to allocate memory from the system heap has failed. The most recent task for which this has occurred is indicated by task ID.
LOW SPACE ERROR: Task taskID
An attempt to increase the size of the program heap space has failed due to lack of available address space to extend this program's image. In some cases this problem can be avoided by reserving the program additional address space using the setSpaceReserve macro.
HARDWARE ERROR: n
A hardware error has been detected. The number indicates where this detection occurred.
The readout from the EEPROM where the system serial number is stored has failed.
USB HUB ERROR: x
The USB hub driver encountered an error. The displayed hex number is encoded as follows:
Some assertion has failed in the @CHIP-RTOS-PPC software. A path code will indicate which assert failed.
WATCHDOG MANAGER NOT REFRESHED: handle
The process that has registered to the watchdog manager under the given handle has failed to refresh the watchdog manager in time.
BECK DRIVER ERROR n: x
A Beck driver or library has asserted a fatal error.
APPLICATION ERROR n: x
A user application has asserted a fatal error. (See BIOS_Set_Error() API.)