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.
A typical deep project file looks like this:
#deep-1 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.
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;
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;
This options are used when the programmer is accessed trough a telnet connection, e.g. with OpenOCD.
programmeropts = localhost_4444;
It is possible to write an image file to disk. This might be useful for further processing or debugging.
imgfile = "D:\myProject\myFile";
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";
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";