deep

a Cross Development Platform for Java

User Tools

Site Tools


runtime_library:exceptions:start

Exceptions and Errors

Java offers exception and errors. Errors are thrown by the virtual machine and we do not currently use them as we have no virtual machine at all.
Exceptions can be devided into checked and unchecked exceptions. Checked exceptions must be caught by a calling method, which is ensured by the Java compiler. Unchecked exceptions, such as ArrayIndexOutOfBoundsException or NullPointerException, must be caught when initializing classes or when calling thread or task methods. Of course, you are free to catch such unchecked methods in your code by yourself.

Exception Handling

All unchecked Java exceptions must be caught by the system. In such a case, an string is written to the System.err stream. Make sure, that you have directed this stream to an existing serial interface.

Example on the mpc555

  SCI sci = SCI.getInstance(SCI.pSCI1);
  sci.start(9600, SCI.NO_PARITY, (short)8);
  System.out = new PrintStream(sci.out);
  System.err = System.out

Example on the mpc5200

  UART3.start(9600, UART3.NO_PARITY, (short)8);
  System.out = new PrintStream(UART3.out);
  System.err = System.out

Interrupts must be globally enabled for the serial interface to work. This is done automatically as soon as the Decrementer class is loaded, which itself is a system class and does not have to be manually included.

Signaling with LED

On the NTB MPC555 Headerboard there is a single LED. On the Freescale MPC5200 module there is no LED, but we use the one on the carrier board (at pin Gpio_Wkup_7).

blinking pattern state comment
1x every second code was loaded with error FCS error in kernel
1x once exception thrown in command unchecked exception caught in Task.loop
2x once exception thrown in command unchecked exception caught in Kernel.loop
3x once exception thrown in action method of task command unchecked exception caught in Task.loop
5x every second Exception thrown unchecked exception caught in kernel
1x followed by 2x every second Machine Check Exception bus error, PPC exception
1x followed by 3x every second System Call sc-instruction, PPC exception
1x followed by 4x every second Floating Point Unavailable Exception FPU switched off, PPC exception

Debug Mode

The RCPU of the mpc555 has a built-in debug feature. Some of the PPC exceptions can cause the processor to enter debug mode, instead of running the appropriate exception handler. However, this can happen only in case of the processor running out of RAM. If you run the program out of flash, you can never enter debug mode (which wouldn't make sense).
Debug mode is indicated on the MPC555 USB Background Debugging Interface (USB-BDI) with the blue LED.

runtime_library/exceptions/start.txt · Last modified: 2017/10/03 11:35 by ursgraf