blob: c2e6b2e12831f52a989076c1b79fc40c79fefbf4 [file] [log] [blame]
SCA2Amalthea Headless Tool
The sca2Amalthea headless tool can be started in different ways:
1. Launch via Equinox launcher executable, e.g. on Windows (sca2Amalthea.exe)
sca2Amalthea <-pdir> [-astp] [-hdirlist] [-taskinfo] [-lockinfo] [-enableStructMember] [-xmlCallTreePath] [-outdir] [-consoleLog] [-console]
Options:
-hdirlist This optional parameter takes a list of directory paths that contain header files.The directory paths should be seperated by the path seperator ie ;
-taskinfo This optional parameter takes path of the task/isr information file
-lockinfo This optional parameter takes path of a csv file containing information of lock functions.
-enableStructMember This optional parameter takes a boolean value for reporting struct member accesses in amalthea model.
-xmlCallTreePath This optional parameter takes the path of the XMLCallTree.xml to be converted to amalthea model.
-outdir This optional parameter takes the path of the directory where the amalthea model has to be stored.
-h Shows the help
-consoleLog When using the launcher, the console outputs are not printed to the shell.
By using this option a separate shell is opened to which the results are printed.
-console Opens the OSGi console. This option has to be provided in addition to the options listed above.
Mandatory Parameter:
-pdir Mandatory parameter.This parameter takes path of the root directory of the c project.
-astp Mandatory parameter if xmlCallTreePath option is not provided. This parameter takes path to the LLVM ASTParser executable.
Examples:
Displaying sca2Amalthea help
sca2Amalthea.exe -h -console
Generate amalthea model for all source files in project directory
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir
Generate amalthea model for all source files in project directory with task information
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -taskinfo C:\\Temp\\project_dir\\task_info\\taskInfo.csv
Generate amalthea model from xmlCallTree.xml file
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -xmlCallTreePath C:\\Temp\\project_dir\\_gen\\sca2Amalthea\\XMLCallTree.xml
Generate amalthea model for all source files in project directory with struct members enabled
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -enableStructMember
Generate amalthea model for with some header directory paths
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -hdirlist C:\\Temp\\project_dir\\header_dir1;C:\\Temp\\project_dir\\header_dir2
Generate amalthea model for all source files in some output directory
sca2Amalthea.exe -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -outdir C:\\Desktop\\outdir
2. Launch via executable jar (uses the bnd launcher)
java -jar sca.jar <-pdir> [-astp] [-hdirlist] [-taskinfo] [-lockinfo] [-enableStructMember] [-xmlCallTreePath] [-outdir]
Options:
-hdirlist (optional) list of directory paths that contain header files
The directory paths should be separated by the path separator ie ";"
-taskinfo (optional) path of the task/isr information file
-lockinfo (optional) path of a csv file containing information of lock functions
-enableStructMember (optional) boolean value for reporting struct member accesses in Amalthea model
-xmlCallTreePath (optional) path of the "XMLCallTree.xml" to be converted to Amalthea model
-outdir (optional) path of the directory where the Amalthea model has to be stored
Mandatory Parameter:
-pdir (mandatory) path of the root directory of the C project
-astp (mandatory) path to the LLVM ASTParser executable (if xmlCallTreePath option is not provided)
Examples:
Displaying sca2Amalthea help
java -jar sca.jar -h
Generate amalthea model for all source files in project directory
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir
Generate amalthea model for all source files in project directory with task information
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -taskinfo C:\\Temp\\project_dir\\task_info\\taskInfo.csv
Generate amalthea model from xmlCallTree.xml file
java -jar sca.jar -pdir C:\\Temp\\project_dir -xmlCallTreePath C:\\Temp\\project_dir\\_gen\\sca2Amalthea\\XMLCallTree.xml
Generate amalthea model for all source files in project directory with struct members enabled
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -enableStructMember
Generate amalthea model for header directory paths
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -hdirlist C:\\Temp\\project_dir\\header_dir1;C:\\Temp\\project_dir\\header_dir2
Generate amalthea model for all source files in some output directory
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -outdir C:\\Desktop\\outdir
Open the osgi shell
java -jar -Dosgi.console= sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir
3. Launch via Equinox Framework JAR
java -jar plugins/org.eclipse.osgi_3.15.100.v20191114-1701.jar -configuration ./configuration <-pdir> [-astp] [-hdirlist] [-taskinfo] [-lockinfo] [-enableStructMember] [-xmlCallTreePath] [-outdir]
Options:
-hdirlist (optional) list of directory paths that contain header files
The directory paths should be separated by the path separator ie ";"
-taskinfo (optional) path of the task/isr information file
-lockinfo (optional) path of a csv file containing information of lock functions
-enableStructMember (optional) boolean value for reporting struct member accesses in Amalthea model
-xmlCallTreePath (optional) path of the "XMLCallTree.xml" to be converted to Amalthea model
-outdir (optional) directory where the Amalthea model has to be stored
Mandatory Parameter:
-pdir (mandatory) This parameter takes path of the root directory of the c project.
-astp (mandatory) path to the LLVM ASTParser executable (if xmlCallTreePath option is not provided)
-configuration<location>
This parameter is needed to specify the location of the config.ini file.
When starting the via Equinox Framework JAR the location needs to be provided this way to startup correctly.
Examples:
Displaying sca2Amalthea help
java -jar sca.jar -h
Generate amalthea model for all source files in project directory
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir
Generate amalthea model for all source files in project directory with task information
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -taskinfo C:\\Temp\\project_dir\\task_info\\taskInfo.csv
Generate amalthea model from xmlCallTree.xml file
java -jar sca.jar -pdir C:\\Temp\\project_dir -xmlCallTreePath C:\\Temp\\project_dir\\_gen\\sca2Amalthea\\XMLCallTree.xml
Generate amalthea model for all source files in project directory with struct members enabled
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -enableStructMember
Generate amalthea model for some header directory paths
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -hdirlist C:\\Temp\\project_dir\\header_dir1;C:\\Temp\\project_dir\\header_dir2
Generate amalthea model for all source files in some output directory
java -jar sca.jar -pdir C:\\Temp\\project_dir -astp C:\\Desktop\\ast_dir -outdir C:\\Desktop\\outdir