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

Next revision
Previous revision
Last revisionBoth sides next revision
first_example [2015/03/18 11:11] – created ursgraffirst_example [2020/12/01 14:24] – [Running Demo Programs] 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 mpc555 target platform.+===== Hello World with System.out ===== 
 +  * [[first_example_mpc555| Hello World on the NTB mpc555 Board]] 
 +  * [[first_example_mpc5200| Hello World on the Phytec phyCore mpc5200 board]] 
 +  * [[first_example_microzed| Hello World on the Avnet MicroZed board]]   
 +  * [[first_example_zybo| Hello World on the Digilent Zybo board]]
  
-  - Start eclipsechoose a new workspace and open the deep perspective with Window -> Open Perspective -> Deep)+===== Developing on the Avnet MicroZed Board ===== 
-  - //File// -> //New// -> select //Project..., Deep -> //select// Deep Project//. \\ {{:software:deep:ide:newdeepproject.png?400|}} +As this board contains a FPGA which must be loaded with a suitable configurationyou have to carefully select one of the following methods
-  - Target Library: ✔ use default library path \\ {{:software:deep:ide:targetlibrary.png?400|}}  +  * [[first_example_microzed_sysdevSystem Developer]]  
-   - Target Configuration: +  * [[first_example_microzed_appdevApplication Developer]]  
-    - Select a board: NTB MPC555 Headerboard +  * [[first_example_microzed_deploy| Deploying]]  
-    - Select programmer: NTB MPC555 USB-BDI +===== Running Demo Programs ===== 
-    - Select a operating System: NTB Simple tasking system +The deep runtime library offers couple of demo programse.g. using serial output or flashing a led. Create a new project as given above and open the //deep// project fileNavigate to //Referenced Libraries// entry in the //Package Explorer// and find a suitable demo program, e.g. ch.ntb.inf.runtime.zynq7000.microzed.demo.Blinker 
-    - 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. \\ {{:software:deep:ide:targetconfiguration.png?400|}} +{{:demoprograms.png?250|}}
-  - Project name: +
-    - Choose any project name (no spaces, no "umlauts"+
-    - ✔ use default location\\ {{{{:software:deep:ide:deep_project_name.png?400&direct}} +
-  - //Finish// creates the project +
-  - The empty project will show on the left side in the package explorer.\\ {{software:eclipse:deep_emptyproject.png?direct}} +
-  - By right-clicking on the source folder (src) in the package explorer choose //New// -> //Package// and add package name //ch.ntb.stud.yourName.helloworld//.\\ {{software:eclipse:newjavapackage.png?400&direct}} +
-  - By right-clicking on the newly created package choose //New// -> //Class// and enter class name //HelloWorld//+
-  - Open class and enter source code:<code java> +
-package ch.ntb.stud.yourName.helloworld;+
  
-import java.io.PrintStream; +Edit the //rootclasses// entry in the //deep// project file as follows 
-import ch.ntb.inf.deep.runtime.mpc555.driver.SCI1; +<code> 
- +# enter names of rootclassese.g
-public class HelloWorld { +# rootclasses "test.MyFirstTestClass","other.MySecondTestClass"
- static { + rootclasses = "org.deepjava.runtime.zynq7000.microzed.demo.Blinker";
- // 1) Initialize SCI1 (9600 8N1) +
- SCI1.start(9600SCI1.NO_PARITY, (short)8); +
-  +
- // 2) Use SCI1 for stdout +
- System.out new PrintStream(SCI1.out)+
-  +
- // 3) Say hello to the world +
- System.out.println("Hello, world"); +
-+
-}+
 </code> </code>
-  - Open project file: HelloWorld.deep 
-  - Add the newly created class to rootclasses. It should then look like this:<code>project { 
- #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 = ntbMpc555HB; 
- ostype = ntbSTS; 
- programmertype = ntbMpc555UsbBdi; 
- 
- # enter names of rootclasses, e.g. 
- # rootclasses = "test.MyFirstTestClass","other.MySecondTestClass"; 
- rootclasses = "ch.ntb.stud.yourName.helloworld.HelloWorld"; 
  
- # imgfile = "M:\Workspace\HelloWorld\HelloWorld.bin"; +Create a run configuration and run the program as given in [[first_example|Hello World with System.out]]Be aware of the fact that all the examples using //flink// devices (which are implemented in the FPGA) need a suitable configuration loaded into the FPGA at startup.
- # imgformat = BIN; +
-+
-}</code> +
-  - Connect hardware to PC and power on. +
-  - Open View Dialog under //Window -> Show View -> Other...//. \\ {{software:eclipse:showview.png?400&direct}} +
-  - In the category //Terminal// mark //Terminal// and  confirm with //OK//\\ {{software:eclipse:viewchooser.png?200&direct}} +
-  - Under //Connection Type// select //Serial// and choose settings according to the settings of the SCI on the target from paragraph 9 above. Check the port number with your operating system. \\ {{software:eclipse:connectiontype.png?200&direct}} +
-  - Mark project file "HelloWorld.deep", either by right-clicking //Run As -> Deep Application// \\ {{software:eclipse:runas_context.png?direct}} \\ or with pulldown menu of the run-button //Run As -> Deep Application// \\ {{:software:eclipse:runas_pulldown.png?400&direct}} \\ will the programm be compiled, linked and downloaded. +
-  - The //USB Log// shows //Hello, World//. +
-  - With {{software:eclipse:run.jpg}} you can recompile and rerun the programm.+