====== 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: #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. ==== 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 ==== Board ==== 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; ==== Programmer ==== 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. ==== Rootclasses ==== At least one rootclass must be specified. If several rootclasses are used the list must be comma separated. rootclasses = "test.MyFirstTestClass","other.MySecondTestClass";