a Cross Development Platform for Java

User Tools

Site Tools


Create and manage deep projects

When creating new projects all the necessary settings will be written automatically in a configuration file (PROJECTNAME.deep in the root folder of the project). This file can also be manually edited to change project settings.

The deep project file

A typical deep project file looks like this:


meta {
	version = "Sun May 26 16:05:42 CEST 2013";
	description = "deep project file for Test1";

project Test1 {
	libpath = "I:\deep\lib";
	boardtype = ntbMpc555HB;
	ostype = sts_ppc;
	programmertype = ntbMpc555UsbBdi;
#	programmeropts = none;
#	imgfile = D:\temp\myFile.bin;
#	pl_file = ;

#	enter names of rootclasses, e.g.
#	rootclasses = "test.MyFirstTestClass","other.MySecondTestClass";
	rootclasses = "test.TestClass1";

All lines starting with # are comments. Also the first line which is optional, it only helps the system to choose the right parser for the file.

The meta paragraph contains only some informations about the file, but remind, that both assignments are necessary. More interesting is the second paragraph project, which contains all informations about the deep-Project.

Library path

The library path must be carefully set up. It can consist of several strings. For each path the directory bin is added to the path. At this resulting location the configuration files and the class files must be found.
It is possible as well to choose a jar-file as library path.
If some of the configuration files are located in the current project, this current project must also be added to the library path. If several paths and/or jar-files are given, the search order for any given class file is in the order of the given paths. Some examples:

  libpath = "I:\deep\lib"; # network drive
  libpath = "../org.deepjava.trglib","../ch.ntb.inf.junitTarget; # local
  libpath = "C:/Program Files/Java/jre6/lib/rt.jar","I:\deep\lib"; # jar file
  libpath = "I:\deep\lib","M:\EUser\runtime-EclipseApplication\Test"; # local project


The type of the board must be specified. The compiler has to know where to place code and variables and what type of architecture to compile for.

  boardtype = ntbMpc555HB;

Target operating system

Choose an operating system with

  ostype = sts_ppc;


The programmer declaration is optional, if no programmer is given, deep will not automatically download the image to the target board.

  programmertype = ntbMpc555UsbBdi;

Programmer Options

This options are used when the programmer is accessed trough a telnet connection, e.g. with OpenOCD.

  programmeropts = localhost_4444;

Image File

It is possible to write an image file to disk. This might be useful for further processing or debugging.

  imgfile = "D:\myProject\myFile";

PL Image File

If the target architecture contains a programmable logic block (PL), you can specify the bit-file with which the PL can be configured, e.g.

  pl_file = "I:\deep\lib\rsc\flink2.bit";

Target Command Table File

When you specify this option, the launcher will create a file containing all methods together with their memory addresses of all classes which are commands.

  tctfile = "../ch.ntb.inf.junitTarget/tct/targetCommands.dtct";

This option is solely used for testing purposes.


At least one rootclass must be specified. If several rootclasses are used the list must be comma separated.

  rootclasses = "test.MyFirstTestClass","other.MySecondTestClass";
crosscompiler/deep_projects.txt · Last modified: 2022/12/20 15:56 by ursgraf