====== 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 [[https://wiki.bu.ost.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//.
- 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. 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:
- Select a board: //Phytec PhiCORE-MPC5200io//, //Phytec PhiCORE-MPC5200tiny//, //Phytec PhiCORE-MPC5200uboot//
- Select a operating System: //Simple Tasking System for PPC//
- Select a programmer: //Abatron BDI2000/3000//
- Select programmer options: network name of your programmer, e.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:
- Choose a project name (no spaces, no dashes, no special characters such as "umlauts")
- Use default location or choose a location \\ {{{{projectname.png?300|}}
- //Finish// creates the project
- 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, e.g. //test//.
- By right-clicking on the newly created package choose //New// -> //Class// and enter class name //HelloWorld//.
- Open class and enter source code:
import java.io.PrintStream;
import org.deepjava.runtime.mpc5200.driver.UART3;
public class HelloWorld {
static {
// Initialize UART (9600 8N1)
UART3.start(9600, UART3.NO_PARITY, (short)8);
// Use the UART3 for stdout
System.out = new PrintStream(UART3.out);
// Print a string to the stdout
System.out.println("Hello world");
}
}
- Open deep project file //HelloWorld.deep//. This file can be found in the root of the project.
- Add the newly created class to //rootclasses//. It should then look like this:
#deep-1
meta {
version = "Mon Jan 05 12:40:12 CET 2015";
description = "deep project file for HelloWorld";
}
project HelloWorld {
libpath = "\\ost.ch\dfs\bsc.sys\public-programme\deep\lib";
boardtype = MicroZed;
ostype = sts_arm;
programmertype = openOCD;
programmeropts = bdi3000inf01;
imgfile = "D:\HelloWorld.bin";
# pl_file = none;
# enter names of rootclasses, e.g.
# rootclasses = "test.MyFirstTestClass","other.MySecondTestClass";
rootclasses = "test.HelloWorld";
}
- Connect the target through an external debugging device such as an [[http://wiki.bu.ost.ch/infoportal/embedded_systems/abatron_bdi/start|Abatron BDI]].
- 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// \\ {{runas_context.png?280|}} \\ If you already created such a run configuration you can select from the pulldown menu of the run-button. \\ {{runas_pulldown.png?280|}} \\
- //Run// will compile, link and download the program.
- The terminal window will show //Hello world//.
- With {{run.jpg}} you can recompile and rerun the programm.
===== 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 running. Run the following command: tftp 0x400000 myDir/test.bin bin
Please make sure that your image file resides in the right directory on your TFTP server. Finally start your program with go 0x400100