This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
first_example [2018/03/09 15:38] – ursgraf | first_example [2019/11/06 14:20] – [Example on mpc5200] 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 | + | ===== Using System.out |
- | | + | 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. |
+ | |||
+ | | ||
- Create a new deep project with //File// -> //New// -> select // | - Create a new deep project with //File// -> //New// -> select // | ||
- | - On the Target Library wizard page you have to choose where the deep target runtime library is located. | + | - On the Target Library wizard page you have to choose where the deep target runtime library is located. |
- Target Configuration: | - Target Configuration: | ||
- | - Select a board: //NTB MPC555 | + | - Select a board: //NTB MPC555 |
- Select a programmer: //NTB MPC555 USB-BDI// | - Select a programmer: //NTB MPC555 USB-BDI// | ||
- | - Select a operating System: //NTB Simple | + | - Select a operating System: //NTB Simple |
- 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? | - 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? | ||
- 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? | - The empty project will show on the left side in the package explorer.\\ {{emptyproject.png? | ||
- | - 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 // | - By right-clicking on the newly created package choose //New// -> //Class// and enter class name // | ||
- Open class and enter source code:< | - Open class and enter source code:< | ||
Line 31: | Line 33: | ||
// 3) Say hello to the world | // 3) Say hello to the world | ||
- | System.out.println(" | + | System.out.println(" |
} | } | ||
} | } | ||
Line 47: | Line 49: | ||
libpath = " | libpath = " | ||
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 '' | - Open a terminal program such as '' | ||
- | - Create a new run configuration by marking the project file // | + | - Create a new run configuration by marking the project file // |
- //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//. | ||
- With {{run.jpg}} you can recompile and rerun the programm. | - With {{run.jpg}} you can recompile and rerun the programm. | ||
- See [[eclipse: | - See [[eclipse: | ||
+ | |||
+ | ===== 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.: // | ||
+ | - 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, | ||
+ | |||
+ | // Use the uart for stdout | ||
+ | System.out = new PrintStream(uart.out); | ||
+ | |||
+ | // Print a string to the stdout | ||
+ | System.out.println(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 12. The project file will look like < | ||
+ | #deep-1 | ||
+ | |||
+ | meta { | ||
+ | version = "Mon Jan 05 12:40:12 CET 2015"; | ||
+ | description = "deep project file for HelloWorld"; | ||
+ | } | ||
+ | |||
+ | project HelloWorld { | ||
+ | libpath = " | ||
+ | boardtype = ZYBO7000; | ||
+ | ostype = ntbSTS_arm; | ||
+ | programmertype = openOCD; | ||
+ | programmeropts = localhost_4444; | ||
+ | |||
+ | # enter names of rootclasses, | ||
+ | # | ||
+ | rootclasses = " | ||
+ | |||
+ | imgfile = " | ||
+ | imgformat = BIN; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 16. //Run// will compile, link and create the image file. Use an external debugging device such as an [[http:// | ||
+ | |||
+ | 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// | ||
+ | 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 running. Run the following command: < | ||
+ | Please make sure that your image file resides in the right directory on your TFTP server. Finally start your program with < | ||
===== Example on mpc5200 ===== | ===== Example on mpc5200 ===== | ||
Line 72: | Line 132: | ||
- 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 | + | - Select a operating System: //NTB Simple |
- 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 88: | Line 148: | ||
// Print a string to the stdout | // Print a string to the stdout | ||
- | System.out.println(" | + | System.out.println(" |
} | } | ||
} | } | ||
</ | </ | ||
- | 12. The project file will look like < | + | 12. The project file will look like < |
- | #deep-1 | + | #deep-1 |
- | meta { | + | meta { |
- | version = "Mon Jan 05 12:40:12 CET 2015"; | + | version = "Mon Jan 05 12:40:12 CET 2015"; |
- | description = "deep project file for HelloWorld"; | + | description = "deep project file for HelloWorld"; |
- | } | + | } |
- | project HelloWorld { | + | project HelloWorld { |
- | libpath = " | + | libpath = " |
- | boardtype = phyCoreMpc5200io; | + | boardtype = phyCoreMpc5200io; |
- | ostype = ntbSTS; | + | ostype = ntbSTS_ppc; |
- | # | + | # |
- | # enter names of rootclasses, | + | # enter names of rootclasses, |
- | # | + | # |
- | rootclasses = " | + | rootclasses = " |
- | imgfile = " | + | imgfile = " |
- | imgformat = BIN; | + | imgformat = BIN; |
- | } | + | } |
- | }</ | + | </ |
16. //Run// will compile, link and create the image file. Use an external debugging device such as an [[http:// | 16. //Run// will compile, link and create the image file. Use an external debugging device such as an [[http:// |