deep

a Cross Development Platform for Java

User Tools

Site Tools


first_example_mpc5200

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
Last revisionBoth sides next revision
first_example_mpc5200 [2020/09/06 14:49] ursgraffirst_example_mpc5200 [2020/09/23 10:00] ursgraf
Line 1: Line 1:
-====== Using System.out on Phytec phiCore mpc5200 Board ======+====== Hello World on the Phytec phiCore mpc5200 Board ======
  
-This example will demonstrate how to use the deep compiler to translate a simple Java program and run it on a mpc5200 target platform+This example will demonstrate how to use the deep compiler to translate a simple Java program and run it on a [[https://wiki.ntb.ch/infoportal/embedded_systems/mpc5200/start|mpc5200 board]]
  
   - Start eclipse, choose a new workspace and open the deep perspective with //Window -> Open Perspective -> Other -> Deep//.   - Start eclipse, choose a new workspace and open the deep perspective with //Window -> Open Perspective -> Other -> Deep//.
Line 7: Line 7:
   - On the Target Library wizard page you have to choose where the deep target runtime library is located. You can use the default library path or uncheck the box and browse to the location where you've installed the library. You can always set the default library path in [[eclipse:perspective#Setting_Deep_Preferences|deep Perspective and deep Preferences]]. Click //Next//. \\ {{targetlibrary.png?300|}}    - On the Target Library wizard page you have to choose where the deep target runtime library is located. You can use the default library path or uncheck the box and browse to the location where you've installed the library. You can always set the default library path in [[eclipse:perspective#Setting_Deep_Preferences|deep Perspective and deep Preferences]]. Click //Next//. \\ {{targetlibrary.png?300|}} 
    - Target Configuration:    - Target Configuration:
-    - Select a board: //NTB MPC555 header board// +    - Select a board: //Phytec PhiCORE-MPC5200io//, //Phytec PhiCORE-MPC5200tiny//, //Phytec PhiCORE-MPC5200uboot// 
-    Select a programmer: //NTB MPC555 USB-BDI// +    - Select a operating System: //Simple Tasking System for PPC// 
-    - Select a operating System: //NTB Simple Tasking System for PPC// +    - Select a programmer: //Abatron BDI2000/3000// 
-    - If you like to have an image fileyou can select the corresponding checkboxThis option is not necessary if you use the //NTB MPC555 USB-BDI// to download to the target. \\ {{targetconfiguration555.png?300|}}+    - Select programmer options: network name of your programmere.g. //bdi3000inf01// 
 +    Select the checkbox //Create image file// and choose the location to save the image file and the desired image file format, preferably //BIN//. Default save location is the project folder. Please make sure that the file path does not include spaces or hyphens. \\ {{targetconfiguration5200.png?300|}}
   - Project name:   - Project name:
     - Choose a project name (no spaces, no special characters such as "umlauts")     - Choose a project name (no spaces, no special characters such as "umlauts")
Line 20: Line 21:
   - Open class and enter source code:<code java>   - Open class and enter source code:<code java>
 import java.io.PrintStream; import java.io.PrintStream;
-import ch.ntb.inf.deep.runtime.mpc555.driver.SCI;+import ch.ntb.inf.deep.runtime.mpc5200.driver.UART3;
  
 public class HelloWorld { public class HelloWorld {
  static {  static {
- // 1) Initialize SCI1 (9600 8N1) + // Initialize UART (9600 8N1) 
- SCI sci1 = SCI.getInstance(SCI.pSCI1); + UART3.start(9600, UART3.NO_PARITY, (short)8); 
- sci1.start(9600, SCI.NO_PARITY, (short)8); +  
-  + // Use the UART3 for stdout 
- // 2) Use SCI1 for stdout + System.out = new PrintStream(UART3.out); 
- System.out = new PrintStream(sci1.out); +  
-  + // Print a string to the stdout
- // 3) Say hello to the world+
  System.out.println("Hello world");  System.out.println("Hello world");
  }  }
Line 47: Line 47:
 project HelloWorld { project HelloWorld {
  libpath = "I:\deep\lib";  libpath = "I:\deep\lib";
- boardtype = ntbMpc555HB+ boardtype = MicroZed
- ostype = ntbSTS_ppc+ ostype = sts_arm
- programmertype = ntbMpc555UsbBdi;+ programmertype = openOCD; 
 + programmeropts = bdi3000inf01; 
 + imgfile = "D:\HelloWorld.bin"; 
 + imgformat = BIN; 
 +# pl_file = none;
  
 # enter names of rootclasses, e.g. # enter names of rootclasses, e.g.
Line 55: Line 59:
  rootclasses = "test.HelloWorld";  rootclasses = "test.HelloWorld";
  
-# imgfile = "M:\Workspace\HelloWorld\HelloWorld.bin"; 
-# imgformat = BIN; 
 } }
 </code> </code>
-  - Connect the hardware to your host PC by an USB cable and apply power to the target.+  - Connect the target through an external debugging device such as an [[http://wiki.ntb.ch/infoportal/embedded_systems/abatron_bdi/start|Abatron BDI]]. 
 +  - Install the necessary software interface such as [[https://svn.ntb.ch/inf/ch.ntb.inf.abatronInterface/trunk]]
   - Open a terminal program such as ''putty'' or ''realterm''. Alternatively open a terminal program as an eclipse view. Select the appropriate serial port number. Check your host operating settings for this number.   - Open a terminal program such as ''putty'' or ''realterm''. Alternatively open a terminal program as an eclipse view. Select the appropriate serial port number. Check your host operating settings for this number.
   - Create a new run configuration by marking the project file //HelloWorld.deep//. Then, right-click on it and choose //Run As -> Deep Application//. If you already created such a run configuration you can select from the pulldown menu of the run-button. \\ {{runas_context.png?280|}} {{ runas_pulldown.png?280|}}    - Create a new run configuration by marking the project file //HelloWorld.deep//. Then, right-click on it and choose //Run As -> Deep Application//. If you already created such a run configuration you can select from the pulldown menu of the run-button. \\ {{runas_context.png?280|}} {{ runas_pulldown.png?280|}} 
Line 65: Line 68:
   - The terminal window will show //Hello, World//.   - The terminal window will show //Hello, World//.
   - With {{run.jpg}} you can recompile and rerun the programm.   - With {{run.jpg}} you can recompile and rerun the programm.
-  See [[eclipse:flashing|Flashing your Program]] for how to write your program to permanent flash memory.+ 
 +===== Downloading without Debugger ===== 
 +If the boot loader //uBoot// is present on the board, it will start up and configure the memory and clocks. Now, it's possible to download a program without using an Abatron device. For this, you have to choose in step 4 the target configuration //Phytec PhiCORE-MPC5200uBoot//. This configuration is valid for the //tiny// and the //io// board.   
 +Connect a terminal program on PSC3 with 115200, no parity, 8 bit. Also connect the Ethernet of the board to your local server, which must have a TFTP server runningRun the following command: <code>tftp 0x400000 myDir/test.bin bin</code> 
 +Please make sure that your image file resides in the right directory on your TFTP server. Finally start your program with <code>go 0x400100</code> 
 + 
 +