The Bootloader is installed once on the target system by a programming device (e.g. JTAG). After successful setup of the Bootloader, further Application updates can be done through a common communication interface. Dependent of the target system hardware implementation, the communication channel may be:
- FTDI USB
- VCI CAN (Ethernet-CAN bridge)
After startup, the Bootloader checks for a valid Application and runs it if present. If no valid Application was found the device stays in Bootloader mode and waits for a valid Application being downloaded. The Bootloader uses the X2C LNet protocol for communication.
The connector is able to load and extract information from an existing AS project file (APJ) and its sub-directories. The extracted information is used to present the possible configuration options via the Communicator GUI to allow the setup for AS:
- Selection of the Hardware Configuration, CPU module and Application Task class.
The cyclic X2C Update task will be executed in the selected Application Task class.
- Selection of the Communication Task class and communication parameters.
TCP/IP communication can be enabled and a TCP port can be chosen. The X2C communication task will be executed in the selected Communication Task class.
- X2C can be configured to be setup as AS library block
- Buffer size for the X2C Scope oscilloscope-like tool can be configured
The X2C code generator uses these settings to modify AS configuration files and add/remove X2C content into the AS project structure. After code generation is finished, the AS project can be compiled and downloaded to the target via AS firmware download.
To achieve an execution time reduction of the X2C Update functions, the CFSO, if activated, replaces the X2C Block Update function calls by the X2C Block Update code to remove the overhead of C function calls. The optimizer collects the required information from the Block-Implementation C source code.
The CFSO feature can be enabled in the Advanced Communicator settings.
A Dashboard configuration file can be setup to select various values for display and modification. Currently the Dashboard configuration cannot be setup via GUI. The configuration file has to be created manually but Dashboard template files are provided to allow a quick implementation.
Currently there are 2 different value types which can be used to either download or upload data from the target:
- Block-Parameter type
Modify and download-only selected X2C Block Mask Parameters
- Variable type
Upload-only and view selected global variables
The Variable type feature requires a loaded MAP file created by the used target toolchain to fetch the addresses of the variables.
A set of properties can be defined for each value to control its behavior for modification or view:
An ALIAS name can be set to allow a user-friendly name being displayed in the Dashboard instead of the original name of the source.
GAIN and OFFSET factors can be defined to allow the transformation between the (physical) unit and the raw target value.
A (physical) UNIT can be defined and is displayed in the Dashboard.
MINIMUM and MAXIMUM limits can be set to avoid inappropriate values being set in the Dashboard and can be disabled (each) if not used. This property is only used for DOWNLOAD types.
The DEFAULT value sets the initial value of a value. This property is only used for DOWNLOAD types.
The DOWNLOAD can be done for each individual, editable value by changing its value or to DOWNLOAD all editable values by using the “Download Editable Values” button.
The UPLOAD procedure is started by the “Start Update” button and uploads ALL upload-able values at a defined interval.
The screenshot shows a Dashboard configuration using 3 Block-Parameter and 2 Variable value types.