deep

a Cross Development Platform for Java

User Tools

Site Tools


first_example

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
Next revisionBoth sides next revision
first_example [2018/09/28 16:31] ursgraffirst_example [2019/11/06 14:22] – [Example on ZYBO board] ursgraf
Line 1: Line 1:
 ====== First Example ====== ====== First Example ======
-This example will demonstrate how to use the deep compiler to translate a simple Java program and run it on a mpc555 target platform.+===== Using System.out on a mpc555 Board =====
  
-  - Start eclipse, choose a new workspace and open the deep perspective with //Window -> Open Perspective -> Deep//.+This example will demonstrate how to use the deep compiler to translate a simple Java program and run it on a mpc555 target platform. For other platforms see at the bottom of this page. 
 + 
 +  - Start eclipse, choose a new workspace and open the deep perspective with //Window -> Open Perspective -> Other -> Deep//.
   - Create a new deep project with //File// -> //New// -> select //Project..., Deep -> //select// Deep Project//. \\ {{:newdeepproject.png?300|}}   - Create a new deep project with //File// -> //New// -> select //Project..., Deep -> //select// Deep Project//. \\ {{:newdeepproject.png?300|}}
-  - On the Target Library wizard page you have to choose where the deep target runtime library is located. Browse to the location where you've installed the library. \\ If you're working on a NTB-PC, you can simply leave the box //Use default library path// checked and 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 Headerboard//+    - Select a board: //NTB MPC555 header board//
     - Select a programmer: //NTB MPC555 USB-BDI//     - Select a programmer: //NTB MPC555 USB-BDI//
-    - Select a operating System: //NTB Simple tasking system//+    - Select a operating System: //NTB Simple Tasking System for PPC//
     - If you like to have an image file, you can select the corresponding checkbox. This option is not necessary if you use the //NTB MPC555 USB-BDI// to download to the target. \\ {{targetconfiguration555.png?300|}}     - If you like to have an image file, you can select the corresponding checkbox. This option is not necessary if you use the //NTB MPC555 USB-BDI// to download to the target. \\ {{targetconfiguration555.png?300|}}
   - Project name:   - Project name:
Line 15: Line 17:
   - //Finish// creates the project   - //Finish// creates the project
   - The empty project will show on the left side in the package explorer.\\ {{emptyproject.png?150|}}   - The empty project will show on the left side in the package explorer.\\ {{emptyproject.png?150|}}
-  - By right-clicking on the source folder (src) in the package explorer choose //New// -> //Package// and add package name.+  - By right-clicking on the source folder (src) in the package explorer choose //New// -> //Package// and add package name, e.g. //test//.
   - By right-clicking on the newly created package choose //New// -> //Class// and enter class name //HelloWorld//.   - By right-clicking on the newly created package choose //New// -> //Class// and enter class name //HelloWorld//.
   - Open class and enter source code:<code java>   - Open class and enter source code:<code java>
Line 47: Line 49:
  libpath = "I:\deep\lib";  libpath = "I:\deep\lib";
  boardtype = ntbMpc555HB;  boardtype = ntbMpc555HB;
- ostype = ntbSTS;+ ostype = ntbSTS_ppc;
  programmertype = ntbMpc555UsbBdi;  programmertype = ntbMpc555UsbBdi;
  
Line 60: Line 62:
   - Connect the hardware to your host PC by an USB cable and apply power to the target.   - Connect the hardware to your host PC by an USB cable and apply power to the target.
   - 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// or 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|}} 
   - //Run// will compile, link and download the program.   - //Run// will compile, link and download the program.
   - The terminal window will show //Hello, World//.   - The terminal window will show //Hello, World//.
Line 66: Line 68:
   - See [[eclipse:flashing|Flashing your Program]] for how to write your program to permanent flash memory.   - See [[eclipse:flashing|Flashing your Program]] for how to write your program to permanent flash memory.
  
 +===== Example on ZYBO board =====
 +If you use a zynq7000 platform such as the ZYBO board the following steps have to be altered:
 +
 +4. Target Configuration
 +    - Select a board, e.g.: //ZYBO7000//
 +    - Select a programmer: //OpenOCD//
 +    - Select a operating System: //NTB Simple Tasking System for ARM//
 +    - 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.
 +
 +10. The source code changes to : <code java>
 +import java.io.PrintStream;
 +import ch.ntb.inf.deep.runtime.zynq7000.driver.UART;
 +
 +public class HelloWorld {
 + static {
 + // Initialize UART (115200 8N1)
 + UART uart = UART.getInstance(UART.pUART1);
 + uart.start(115200, UART.NO_PARITY, (short)8);
 +
 + // Use the uart for stdout
 + System.out = new PrintStream(uart.out);
 +
 + // Print a string to the stdout
 + System.out.println("Hello world");
 + }
 +}
 +</code>
 +
 +12. The project file will look like <code>
 +#deep-1
 +
 +meta {
 + version = "Mon Jan 05 12:40:12 CET 2015";
 + description = "deep project file for HelloWorld";
 +}
 +
 +project HelloWorld {
 + libpath = "I:\deep\lib";
 + boardtype = ZYBO7000;
 + ostype = ntbSTS_arm;
 + programmertype = openOCD;
 + programmeropts = localhost_4444;
 +
 +# enter names of rootclasses, e.g.
 +# rootclasses = "test.MyFirstTestClass","other.MySecondTestClass";
 + rootclasses = "test.HelloWorld";
 +
 + imgfile = "M:\Workspace\HelloWorld\HelloWorld.bin";
 + imgformat = BIN;
 +}
 +</code>
 +
 +16. //Run// will compile, link and download the image file. For downloading and debugging [[openocd:start|OpenOCD]] will be used. Make sure to have it installed. 
 ===== Example on mpc5200 ===== ===== Example on mpc5200 =====
 If you use a mpc5200 platform the following steps have to be altered: If you use a mpc5200 platform the following steps have to be altered:
Line 72: Line 127:
     - Select a board, e.g.: //Phytec PhiCORE-MPC5200io//     - Select a board, e.g.: //Phytec PhiCORE-MPC5200io//
     - Select a programmer: //none//     - Select a programmer: //none//
-    - Select a operating System: //NTB Simple tasking system//+    - Select a operating System: //NTB Simple Tasking System for PPC//
     - 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.     - 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.
  
Line 104: Line 159:
  libpath = "I:\deep\lib";  libpath = "I:\deep\lib";
  boardtype = phyCoreMpc5200io;  boardtype = phyCoreMpc5200io;
- ostype = ntbSTS;+ ostype = ntbSTS_ppc;
 # programmertype = ; # programmertype = ;