deep

a Cross Development Platform for Java

User Tools

Site Tools


runtime_library:exceptions:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
runtime_library:exceptions:start [2020/10/02 13:30] – [Signaling with LED] ursgrafruntime_library:exceptions:start [2022/12/20 10:24] (current) – [Debug Mode on PowerPC Processors] ursgraf
Line 4: Line 4:
  
 ===== Exception Handling ===== ===== 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.+All unchecked Java exceptions must be caught by the system. In such a case, the type of the exception is written to the //System.err// stream. Make sure, that you have directed this stream to your ''System.out''.
  
-==== Example on the zynq7000==== 
 <code java> <code java>
-  UART uart = UART.getInstance(UART.pUART1); 
-  uart.start(115200, (short)0, (short)8); 
-  System.out = new PrintStream(uart.out); 
-  System.err = System.out; 
-</code> 
- 
-==== Example on the mpc555 ==== 
-<code java> 
-  SCI sci = SCI.getInstance(SCI.pSCI1); 
-  sci.start(9600, SCI.NO_PARITY, (short)8); 
-  System.out = new PrintStream(sci.out); 
-  System.err = System.out 
-</code> 
- 
-==== Example on the mpc5200 ==== 
-<code java> 
-  UART3.start(9600, UART3.NO_PARITY, (short)8); 
-  System.out = new PrintStream(UART3.out); 
   System.err = System.out   System.err = System.out
 </code> </code>
-Interrupts must be globally enabled for the serial interface to work. This is done automatically in the boot method of the kernel class. 
  
 +Obviously you have to put the ''System.out'' onto an existing output stream, e.g. your standard output, see [[firstexample:start|Hello World with System.out]]. 
 ===== Signaling with LED ===== ===== Signaling with LED =====
  
Line 38: Line 19:
 | 1x once | exception thrown in command | unchecked exception caught in //Task.loop// | | 1x once | exception thrown in command | unchecked exception caught in //Task.loop// |
 | 2x once | exception thrown in command | unchecked exception caught in //Kernel.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//+| 3x once | exception thrown in action method of task | unchecked exception caught in //Task.loop// or check stack failed in kernel
-| 5x every second| Exception thrown | unchecked exception caught in kernel |+| 5x every second| exception thrown in boot method | unchecked exception caught in kernel 
 +| 1x followed by 2x| data abort exception | memory access threw data abort exception |
  
 ==== PowerPC based boards ==== ==== PowerPC based boards ====
-On the [[http://wiki.ntb.ch/infoportal/embedded_systems/mpc555/headerboard/start|NTB MPC555 Headerboard]] there is a single LED. On the [[http://wiki.ntb.ch/infoportal/embedded_systems/mpc5200/start|Freescale MPC5200]] module there is no LED, but we use the one on the carrier board (at pin Gpio_Wkup_7).+On the [[http://wiki.bu.ost.ch/infoportal/embedded_systems/mpc555/headerboard/start|NTB MPC555 Headerboard]] there is a single LED. On the [[http://wiki.bu.ost.ch/infoportal/embedded_systems/mpc5200/start|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 ^ ^ blinking pattern ^ state ^ comment ^
Line 48: Line 30:
 | 1x once | exception thrown in command | unchecked exception caught in //Task.loop// | | 1x once | exception thrown in command | unchecked exception caught in //Task.loop// |
 | 2x once | exception thrown in command | unchecked exception caught in //Kernel.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//+| 3x once | exception thrown in action method of task command | unchecked exception caught in //Task.loop// or check stack failed in kernel
-| 5x every second| Exception thrown | unchecked exception caught in kernel | +| 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 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 3x every second| system call | sc-instruction, PPC exception | 
-| 1x followed by 4x every second| Floating Point Unavailable Exception | FPU switched off, PPC exception |+| 1x followed by 4x every second| floating point unavailable exception | FPU switched off, PPC exception |
  
-===== Debug Mode =====+===== Debug Mode on PowerPC Processors =====
 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).\\ 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 [[http://wiki.ntb.ch/infoportal/embedded_systems/mpc555/usb-bdi|MPC555 USB Background Debugging Interface (USB-BDI)]] with the blue LED.+Debug mode is indicated on the [[http://wiki.bu.ost.ch/infoportal/embedded_systems/mpc555/usb-bdi|MPC555 USB Background Debugging Interface (USB-BDI)]] with the blue LED.
runtime_library/exceptions/start.1601638250.txt.gz · Last modified: 2020/10/02 13:30 by ursgraf