CrossLoad is a command line program that allows you to download and verify applications without using CrossStudio. This tool can be used for production purposes but is not designed to be used for development.

Usage
`crossload [options] [files...]`
`crossload [options] [files...] -serve [arguments...]`
Options
-target target | Specify the target interface to use. Use the -listtargets option to display the list of supported target interfaces.
-listtargets | List all of the supported target interfaces.
-solution file | Specify the CrossWorks solution file to use.
-project name | Specify the name of the project to use.
-config configuration | Specify the build configuration to use.
-filetype filetype | Specify the type of the file to download. By default CrossLoad will attempt to detect the file type, you should use this option if CrossLoad cannot determine the file type or to override the detection and force the type. Use the -listfiletypes option to display the list of supported file types.
-listfiletypes | List all of the supported file types.
-setprop property = value | Set the target property property to value.
-listprops | List the target properties of the target specified by the -target option.
-loadaddress address | When downloading a load file that doesn't contain any address information, such a binary file, this option specifies the base address the file should be downloaded to.
-noverify | Do not carry out verification of download.
-nodownload | Do not carry out download, just verify.
-nodisconnect | Do not disconnect the target interface when finished.
-serve | Serve CrossStudio debug I/O operations. Any command line arguments following this option will be passed to the target application. The application can access them either by calling debug_getargs() or by compiling crt0.s with the FULL_LIBRARY C preprocessor definition defined so that argc and argv are passed to main.
-help | Display the command line options.
-verbose | Produce verbose output.
-quiet | Do not output any progress messages.
-StudioDir directory | Set $(StudioDir) to be directory.

In order to carry out a download or verify CrossLoad needs to know what target interface to use. The supported target interfaces vary between systems, to produce a list of the currently supported target interfaces use the -listtargets option.

`crossload -listtargets`

This command will produce a list of target interface names and descriptions:

        usb                   USB CrossConnect
        parport               Parallel Port Interface
        sim                   Simulator

Use the -target option followed by the target interface name to specify which target interface to use:

`crossload -target usb ...`

CrossLoad is normally used to download and/or verify projects created and built with CrossStudio. To do this you need to specify the target interface you want to use, the CrossStudio solution file, the project name and the build configuration. The following command line will download and verify the debug version of the project MyProject contained within the MySolution.hzp solution file using a USB CrossConnect:

`crossload -target usb -solution MySolution.hzp -project MyProject -config Debug`

In some cases it is useful to download a program that might not have been created using CrossStudio using the settings from an existing CrossStudio project. You might want to do this if your existing project describes specific loaders or scripts that are required in order to download the application. To do this you simply need to add the name of the file you want to download to the command line. For example the following command line will download the HEX file ExternalApp.hex using the release settings of the project MyProject using a USB CrossConnect:

`crossload -target usb -solution MySolution.hzp -project MyProject -config Release ExternalApp.hex`

CrossLoad is able to download and verify a range of file types. The supported file types vary between systems, to display a list of the file types supported by CrossLoad use the -listfiletypes option:

`crossload -listfiletypes`

This command will produce a list of the supported file types, for example:

      hzx                   CrossStudio Executable File
      bin                   Binary File
      ihex                  Intel Hex File
      hex                   Hex File
      tihex                 TI Hex File
      srec                  Motorola S-Record File

CrossLoad will attempt to determine the type of any load file given to it, if it cannot do this you may specify the file type using the -filetype option:

`crossload -target usb -solution MySolution.hzp -project MyProject -config Release ExternalApp.txt -filetype tihex`

It is possible with some targets to carry out a download without the need to specify a CrossStudio project. In this case all you need to specify is the target interface and the load file. For example the following command line will download myapp.s19 using a USB CrossConnect:

`crossload -target usb myapp.s19`

Each target interface has a range of configurable properties that allow you to customize the default behaviour. To produce a list of the target properties and their current value use the -listprops option:

`crossload -target parport -listprops`

This command will produce a list of the parport target interfaces properties, a description of what the properties are and their current value:

      Name:        JTAG Clock Divider
      Description: The amount to divide the JTAG clock frequency.
      Value      : 1

      Name:        Parallel Port
      Description: The parallel port connection to use to connect to target.
      Value      : Lpt1

      Name:        Parallel Port Sharing
      Description: Specifies whether sharing of the parallel port with other device drivers or programs is permitted.
      Value      : No

You can modify a target property using the -setprop option. For example the following command line would set the parallel port interfaced used to lpt2:

`crossload -target parport -setprop "Parallel Port"="Ltp2" ...`