Command-line execution - IVT Tool

This section describes the Command Line Interface (CLI) commands supported in the IVT Tool.

Table 1. Commands supported in IVT
Command name ​​Definition and parameters Description Restriction Example
​Import IVT binary image ​-ImportBin

Import the binary IVT image in the current configuration.

The path of the imported binary image is expected as argument.

​Requires -HeadlessTool IVT ​-HeadlessTool IVT -ImportBin C:/boot_images/ivtImg.bin
Export IVT image in binary format ​​-ExportBin

​​Export the IVT image in binary format.

Folder name is expected as argument.

Requires ​​-HeadlessTool IVT ​​​-HeadlessTool IVT -ExportBin C:/exports/generated​
​Export IVT image in C format ​-ExportC

​Export the IVT image in C format.

Folder name is expected as argument.

​Requires ​​-HeadlessTool​ IVT ​ ​-HeadlessTool IVT -ExportC C:/exports/generated
Export Blob image in binary format -ExportBlob

Export Blob image (the binary which contains IVT image and all loaded pointer images.

Folder name is expected as argument.

Requires -HeadlessTool IVT

-HeadlessTool IVT -ExportBlob C:/export/generated

Insert pointers that will not have their binaries modified during the export process -use_unmodified_binary Input binaries of the pointers that are specified after this command will not be modified during the export process -ExportBlob

-HeadlessTool IVT -ExportBlob C:/export/generated -use_unmodified_binary "FSS Firmware" xspi_params

Export application bootloader image -ExportAB

Export the complete application bootloader image.

Folder name, path to the raw binary code file, start ram pointer address value and entry ram pointer address value are expected as arguments.

Requires -HeadlessTool IVT

-HeadlessTool IVT

-ExportAB C:/resources/completeApp.bin

-start_pointer_addr 0x34300000

-entry_pointer_addr 0x34300000

-raw_binary C:/resources/rawCode.bin

Insert value for RAM start pointer address

-start_pointer_addr

Value used for the RAM start pointer address for application bootloader. This value will be included in the header of the exported application bootloader. Requires -ExportAB -start_pointer_addr 0x34300000
Insert value for RAM entry pointer address -entry_pointer_addr Value used for the RAM entry pointer address for application bootloader. This value will be included in the header of the exported application bootloader. Requires -ExportAB -entry_pointer_addr 0x34300000
Path to the raw binary code for the application bootloader pointer -raw_binary Path to a binary file which contains the raw code (no header) for the application bootloader pointer. Requires -ExportAB -raw_binary C:/resources/rawCode.bin
Export the application bootloader image in serial boot format -serial_boot Export the application bootloader image in serial boot format Requires -ExportAB -serial_boot
Add transmission marker -include_marker Include the marker FEED_FACE_CAFE_BEEFh on the exported image Requires -ExportAB -include_marker

​​Export all generated files

(to simplify all export commands to one command)

​​-ExportAll

​​Export generated files (with source code etc.).

Code will be regenerated before export.

Includes -ExportBin,-ExportC, -ExportBlob and in framework -ExportMEX.

Folder name is expected as argument.​

​Requires ​​-HeadlessTool​ IVT ​​-HeadlessTool IVT ​-ExportAll C:/exports/generated

Validate configuration

-ValidateConfiguration

Validates the current loaded configuration and display the problems found.

Requires -HeadlessTool IVT -HeadlessTool IVT -ImportBin C:/boot_images/ivtImg.bin -ValidateConfiguration -consoleLog -noExit

Automatic alignment for IVT segments

-AutoAlign

Automatically aligns all segments in order to fix alignment problems and segment overlapping problems. It has an optional parameter. The user can specify the start address from which the pointers will be aligned or in case no parameter is specified the auto align start address from the storage will be used.

Requires -HeadlessTool IVT -HeadlessTool IVT -ImportBin C:/boot_images/ivtImg.bin -AutoAlign 0x0 -consoleLog -noExist
Import application bootloader image -ImportAB

Imports the complete application bootloader image in the current configuration.

The path of the imported complete application bootloader image is expected as argument.

Requires -HeadlessTool IVT -HeadlessTool IVT -Load C:\mex_files\myMex.mex -ImportAB C:\binary_images\completeApp.bin
Export DDRC interface init application image -ExportDDRC

Export the complete DDRC interface init app image.

Folder name, start ram pointer address value, entry ram pointer address value, path to the raw binary code file, bootrom timeout value and path to the pre-defined data file are expected as arguments.

Note: Depending on the processor, besides above arguments, additional ones may be expected: Rollback counter, FRB threshold reg 0, FRB threshold reg 1, FRB threshold reg 2.

Requires -HeadlessTool IVT -HeadlessTool IVT -ExportDDRC C:\Resources\ddrcInitAppImage -start_pointer_addr 0x34080000 -entry_pointer_addr 0x34080000 -raw_binary C: \Resources\raw_binary -bootrom_timeout 0x1 -pre_defined_data C:\Resources\pre_defined_data
Import DDRC interface init application image -ImportDDRC

Import the DDRC interface init app image into the current configuration.

The path to the imported binary image is expected as argument.

-HeadlessTool IVT -HeadlessTool IVT -ImportDDRC C:\Input\ddrc_init_app
Import Blob Image -ImportBlob

Import Blob Image in a binary format. The command allows importing a blob image which includes the IVT image and creates temporary files for the pointers found in blob.

The path of the imported blob image is required as argument.

-HeadlessTool IVT -HeadlessTool IVT -ImportBlob C:/boot_images/blobImage.bin
Export pointers to a specific location -ExportPointers

Exports the pointers to a specific location when importing blob image.

The path to a folder where to export the pointers from the imported blob image is required as argument.

-ImportBlob -ExportPointers C:\bootImages\export
Specify value for custom pointers address -CustomPointersAddrs

Allows to specify the address of custom pointers when importing a blob image.

The addresses for custom pointers must be specified in HEX format, separated by comma without any whitespace between them.

-ImportBlob -CustomPointersAddrs 0x100,0x200
Export FSS -ExportFSS

Allows the export of FSS Firmware image in a binary format.

In non-serial boot mode, the command expects the following parameters: the path of FSS Firmware image, RAM start pointer address, RAM entry pointer address, path to the raw binary code file, Rollback counter value, FRB threshold reg 0 value, FRB threshold reg 1 value, FRB threshold reg 2 value, FSS Firmware Configuration Word.

In serial boot mode, the command expects the following arguments: the path of FSS Firmware image, RAM start pointer address, RAM entry pointer address, path to the raw binary code file, FRB threshold reg 0 value, FRB threshold reg 1 value, FRB threshold reg 2 value, Baudrate Multiplier Control, XOSC, FSS Firmware Configuration Word.

-HeadlessTool IVT -headlessTool IVT -exportFSS C:\bootImages \exportFSS -raw_binary C:\bootImages\FSS_raw_code -start_pointer_addr 5 -entry_pointer_addr 5 -frbThresholdReg0 5 -frbThresholdReg1 5 -frbThresholdReg2 5 -rollbackCounter 5 -swt -swt_timeout_val 8
Import FSS -ImportFSS

Allows the import of FSS Firmware image in a binary format.

The path of the imported FSS Firmware image is required as argument.

-HeadlessTool IVT -headlessTool IVT -exportFSS C:\bootImages\fssImage.bin
Insert value for FRB threshold reg 0 -frbThresholdReg0

Command used for specifying the FRB threshold reg 0 value.

-ExportDDRC (depending on the processor) / -ExportFSS -frbThresholdReg0 8
Insert value for FRB threshold reg 1 -frbThresholdReg1

Command used for specifying the FRB threshold reg 1 value.

-ExportDDRC (depending on the processor) / -ExportFSS -frbThresholdReg1 7
Insert value for FRB threshold reg 2 -frbThresholdReg2

Command used for specifying the FRB threshold reg 2 value.

-ExportDDRC (depending on the processor) / -ExportFSS -frbThresholdReg2 5
Insert value for Rollback Counter -rollbackCounter

Command used for specifying the Rollback Counter value.

In case of FSS Firmware image export, Rollback Counter can only be configured in non-serial boot mode.

-ExportDDRC (depending on the processor) / -ExportFSS -rollbackCounter 4
Enable Software Watchdog Timer (SWT) -swt

Command used to enable Software Watchdog Timer (SWT) which allows the configuration of SWT Counter value.

-ExportFSS -swt
Insert the Watch Dog (SWT0) value (SWT_TIMEOUT_VAL). -swt_timeout_val

Command used to specify the value for Watch Dog (SWT0).

-ExportFSS and -swt. The SWT0 value can be provided only if Software Watchdog Timer (SWT) is enabled. -swt_timeout_value 12
Specify Baud Rate Multiplier Control value. -baud_multiplier_ct

Command used to provide Baud Rate Multiplier Control value.

-ExportFSS and -serial_boot. The Baud Rate Multiplier Control is configurable for FSS Firmware image only in serial boot mode. -baud_multiplier_ct x0h
Insert value for XOSC. -xosc

Command used to specify XOSC value.

-ExportFSS and -serial_boot. The XOSC values is configurable for FSS Firmware image only in serial boot mode. -xosc 12
Examples:
  • Import IVT binary image, validate imported binary and export it in C format:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini /path/to/S32DS/installation/eclipse/s32ds.ini \
            -HeadlessTool IVT \
            -MCU /processor/name \
            -SDKVersion /sdk/version/name \
            -ImportBin /path/to/IVT/image \
            -ValidateConfiguration \
            -ExportC /path/where/to/export/C/file

    OR

    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -MCU S32S247TV \
            -SDKVersion s32sdk_s32s_rtm_100 \
            -ImportBin C:\Input\ivt_image.bin \
            -ValidateConfiguration \
            -ExportC C:\Output
  • Validate configuration based on existing .mex file and report errors:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -Load C:\Input\S32S247TV.mex \
            -ValidateConfiguration
  • Validate configuration based on imported IVT binary and report errors:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -MCU S32S247TV \
            -SDKVersion s32sdk_s32s_rtm_100 \
            -ImportBin C:\Input\ivt_image.bin \
            -ValidateConfiguration
  • Auto align all pointers at the specified address based on existing .mex file and export IVT image with all pointers aligned:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -Load C:\Input\S32S247TV.mex \
            -AutoAlign 0x1000 \
            -ExportBin C:\Output
  • Export application bootloader:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -Load C:\Input\S32S247TV.mex \
            -ExportAB C:\Output\app_boot.bin \
            -start_pointer_addr 0x34300000 \
            -entry_pointer_addr 0x34300000 \
            -raw_binary C:\Input\app_boot_raw_code.bin
            -serial_boot
            -include_marker

    This command will load the configuration from the existing .mex file and will export the application bootloader based on the provided application code raw binary file using the specified pointer addresses.

  • Export all IVT binaries:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -Load C:\Input\S32S247TV.mex \
            -ExportAll C:\Output

    This command will load the configuration from the existing .mex file and export the IVT image in binary and C formats, and the blob image.

  • Chaining more options:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini /path/to/S32DS/installation/eclipse/s32ds.ini \
            -HeadlessTool IVT \
            -MCU /processor/name \
            -SDKVersion /sdk/version/name \
            -ImportBin /path/to/IVT/image \
            -ValidateConfiguration \
            -ExportC /path/where/to/save/C/file \
            -AutoAlign /start/address/to/align/all/segments \
            -ExportBlob /path/where/to/save/blob/file

    This command will create a new configuration for the specified processor and sdk version, will import the IVT image, will do the validation of the current configuration (and display errors if found), will export the IVT image in the C format, will automatically try to align all pointers starting from the specified address, and will export the blob image in binary format.

  • Import blob, specify custom pointers address, export pointers:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex \
            -ImportBlob C:\Input\blob.bin
            -CustomPointersAddrs 0x100,0x200
            -ExportPointers C:\out\pointers

    This command will load the configuration from the existing .mex, will import the specified blob image which contains custom pointers, will specify the addresses for custom pointers and will export the pointers from the imported blob image at the specified location.

    Note:The current command is just an example of usage. It can be configurable so to not use -CustomPointersAddrs if there are no custom pointers in the imported blob image.

  • Import blob, export blob:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex \
            -ImportBlob C:\Input\blob.bin
            -ExportBlob C:\out\export

    This command will load the configuration from the existing .mex, will import the specified blob image and will export the imported blob image at the specified location.

  • Import application bootloader
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini   \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ImportAB C:\Input\complete_boot_ap \ 
            -ExportAB C:\Output\app_boot.bin \
            -start_pointer_addr 0x34300000  \
            -entry_pointer_addr 0x34300000 \
            -raw_binary C:\Input\app_boot_raw_code.bin  

    This command will load the configuration from the existing .mex file, will import the complete application bootloader image and will export it based on the provided application code raw binary file using the specified pointer addresses.

    OR

    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMEX.mex \
            -ImportAB C:\Input\complete_boot_ap \
            -ExportAB C:\Output\app_boot.bin 

    This command will load the configuration from the existing .mex file, will import the complete application bootloader image and will export the image as it is.

  • Export DDRC interface init app:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMEX.mex \
            -ExportDDRC C:\Output\ddrc_init_app.bin \
            -start_pointer_addr 0x34300000 \
            -entry_pointer_addr 0x34300000 \
            -raw_binary C:\Input\raw_binary.bin \ 
            -bootrom_timeout 0x1  \ 
            -pre_defined_data C:\Input\pre_defined_data 

    This command will load the configuration from the existing .mex file and will export the DDRC interface init app image based on the provided application code raw binary file using the specified pointer addresses, BootROM timeout and pre-defined data.

  • Import DDRC interface init app:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini   \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ImportDDRC C:\Input\ddrc_init_app
            -ExportDDRC C:\Output\ddrc_init_app.bin \
            -start_pointer_addr 0x34300000 \
            -entry_pointer_addr 0x34300000 \
            -raw_binary C:\Input\raw_binary.bin \ 
            -bootrom_timeout 0x1  \ 
            -pre_defined_data C:\Input\pre_defined_data 

    This command will load the configuration from the existing .mex file, will import the DDRC interface init app image and will export it based on the provided application code raw binary file using the specified pointer addresses, BootROM timeout and pre-defined data.

    OR

    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMEX.mex \
            -ImportDDRC C:\Input\ddrc_init_app

    This command will import a valid DDRC interface init app image in the current configuration.

  • Import FSS Firmware Image:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini   \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ImportFSS C:\bootImages\fssImage.bin

    This command will load the configuration from the existing .mex file and will import the specified binary for FSS Firmware Image in the loaded configuration.

  • Export FSS Firmware Image in non-serial boot mode:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini   \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ExportFSS C:\Output\exportFSS
            -raw_binary  C:\BootImages\FSS_raw_code
            -start_pointer_addr 5
            -entry_pointer_addr 5
            -frbThresholdReg0 5
            -frbThresholdReg1 5
            -frbThresholdReg2 5
            -rollbackCounter 5
            -swt
            -swt_timeout_val 8

    This command will load the configuration from the existing .mex file and will export the FSS Firmware Image based on the provided code raw binary file using the specified values for start pointer address, entry pointer address, FRB Threshold Reg 0, FRB Threshold Reg 1, FRB Threshold Reg 2, Rollback Counter. The command specifies the use of Software Watchdog Timer (SWT) and provides a value for SWT0.

  • Export FSS Firmware Image in serial boot mode:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini  \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ExportFSS C:\Output\exportFSS
            -raw_binary  C:\BootImages\FSS_raw_code
            -start_pointer_addr 5
            -entry_pointer_addr 5
            -frbThresholdReg0 5
            -frbThresholdReg1 5
            -frbThresholdReg2 5
            -rollbackCounter 5
            -swt
            -swt_timeout_val 5
            -serial_boot
            -baud_multiplier_ct x0h
            -xosc 12

    This command will load the configuration from the existing .mex file and will export the FSS Firmware Image based on the provided code raw binary file using the specified values for start pointer address, entry pointer address, FRB Threshold Reg 0, FRB Threshold Reg 1, FRB Threshold Reg 2, Rollback Counter. The command specifies the use of Software Watchdog Timer (SWT) and provides a value for SWT0. Furthermore, since serial boot mode is enabled, the command provides values and configures as well Baud Rate Multiplier Control and XOSC.

  • Export Blob and keep the binary of some pointers unchanged:
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex   \
            -ExportBlob C:\Output\export
            -use_unmodified_bianry "Self-Test DCD" DCD "FSS Firmware" "Device Initialization Firmware" xspi_params

    This command will load the configuration from the existing .mex file and will export the blob, but the input binaries of the Self-Test DCD, DCD, FSS Firmware, Device Initialization Firmware and XSPI Parameters will not be modified. Not all pointers have the option to not modify their input binaries. If such a pointer is specified, the export process will be stopped and an error will be shown.

  • Export Blob Image which contains the complete Application Bootloader
    eclipsec.exe -noSplash \
            -application com.nxp.swtools.framework.application \
            --launcher.ini C:\NXP\S32DesignStudio\eclipse\s32ds.ini \
            -HeadlessTool IVT \
            -Load C:\Input\myMex.mex \
            -ExportAB C:\Output\app_boot.bin \
            -start_pointer_addr 0x34300000 \
            -entry_pointer_addr 0x34300000 \
            -raw_binary C:\Input\app_boot_raw_code.bin
            -ExportBlob C:\Output\export
    This command will load the configuration from the existing .mex file and export the blob image containing the complete Application Bootloader based on the provided application code raw binary file using the specified pointer addresses.
    Note: The import/export process cannot be performed without first loading a valid configuration