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 revision Previous revision
Next revision
Previous revision
first_example [2018/09/28 16:31]
ursgraf
first_example [2019/11/06 14:22] (current)
ursgraf [Example on ZYBO board]
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 = ;
  
first_example.1538145061.txt.gz · Last modified: 2018/09/28 16:31 by ursgraf