HOWTO: Use IVT Tool To Create A Blob Image S32G274A

Showing results for 
Show  only  | Search instead for 
Did you mean: 

HOWTO: Use IVT Tool To Create A Blob Image S32G274A

100% helpful (2/2)

HOWTO: Use IVT Tool To Create A Blob Image S32G274A

This instruction details the steps to create an image vector table, then subsequently generate a blob image which can be written to external flash on the S32G274A EVB. For this, the 'hello_world_s32g274a' example project from the S32G274 SDK installed to S32 Design Studio IDE. This instruction shows the process for QSPI, however, SD, MMC, and eMMC are also supported.

The Image Vector Table (IVT) image is a set of pointers to other images which are required by the BootROM.

It typically contains the following images, though not all are required to create a valid IVT image:

  • DCD
  • Self-Test DCD
  • HSE
  • Application Bootloader

The IVT Tool enables configuration and generation of the IVT image as specified in the BootROM reference manual.


Before using the IVT Tool, it will be useful to have already generated the binary image from your application project, it will be an input to the IVT.


  1. With desired project open in project explorer (C/C++ perspective), switch to IVT perspective. Click on 'Open IVT'.


  2. In the Boot Configuration section, check that the correct Boot Target is selected. For the demonstration here, M7_0 is the correct selection.


  3. Check the 'Interface selection' section. If your intended boot device is SD, MMC or eMMC, then change the setting from QuadSPI Serial Flash. If your intended boot device is QuadSPI AND you do not have a QuadSPI parameter file to specify, then uncheck the box for 'Configure QuadSPI parameters'. QuadSPI parameters change some flash registers' settings away from the default setting and are generally required for larger memory sizes (for ex. applications over 1 MB in size, for some supported devices). 


  4. From the Image Table section, depending on your configuration, turn off all unused images. For the demonstration here, the following will be changed to Reserved: Self-Test DCD, Self-Test DCD (backup), DCD (backup), Application bootloader (backup). The following images will remain enabled: DCD, Application bootloader.


  5. In DCD section of the Image Table, click 'Browse File' and select the DCD binary file. Some of the fields may become red shaded after the file is loaded. This is OK as it is showing the memory layout is no longer aligned. This will be resolved in a later step.


  6. In Application bootloader section of the Image Table, click 'Browse File' icon and select the image as noted in the Prerequisites section.


  7. When the application boot image is loaded, the tool processes the file to check if it contains the header for the application bootloader image. If the header is not found, it means that the file is only the raw code (the bin generated by S32 Design Studio) and it will be necessary to provide the values for RAM start & entry addresses (code length is automatically calculated), as noted with the expanded view and red shading.


    To set the RAM start pointer and entry pointer addresses, from to the C/C++ perspective:
    1. Open the linker file and locate the RAM start address and enter it in both the RAM start pointer AND RAM entry pointer fields in the IVT Tool.


    2. Use copy and paste to add the values to the Application Boot Image settings.


    3. The length must be adjusted since it is not 8 byte aligned. Since 14020 / 8  = 1752.5, we will round up to 1753. Then, 1753 * 8 = 14024, so we will enter 14024.


  8. Since the application binary file which was loaded is just a raw binary file, it is necessary to generate the full application bootloader image. The Export Image function takes the values entered for the RAM start & entry pointers and Code length, then generates the Application bootloader header. This header is added to the raw binary file producing a new image, the full application bootloader image file. Within the Application bootloader section, click 'Export Image' and enter a meaningful name for the image file. In addition to being a necessary source component of the IVT image, this file can more easily be shared or re-used to as an input to other IVT images.


    After the file has been generated, you will notice that the address settings section has collapsed to represent that this information is now included in the application bootloader image which will be used to generate the Blob image file.


  9. Click 'Export Blob Image' to generate the blob image file. This is what will be flashed to the target.


  10. Now that the Blob Image is generated, the 'Flash Image' button could be used to program the image to the target over serial connection, use the S32 Flash Tool, or over the JTAG connection using the Flash Programmer within the S32 Debugger (QSPI only).


Very helpful article. I have a question, I am trying to flash the qspi using above method on S32G274A. The flash device is SPI NOR Flash MT35XU512ABA1G12. When I am trying to flash it, on the last stage it shows error 

> bin\S32FlashTool -t targets\S32G2xxx.bin -a "flash\MX25UM51245G.bin" -i uart -p COM3
- Initializing Target.
- Initializing Target.
Process returned 3. Error log:
- Error: Target image load is failed!
- Error: Failure to establish communication with target device.

 However, the connection seems to be working as I am able to debug via debug configuration. 


I tried all the different algorithms. Also, I couldn't find the settings required for MT35XU512ABA1G12 flash device that I can use to change FlashSDK_Ext project. Any help is highly appreciated!!

Version history
Last update:
‎01-24-2020 08:30 AM
Updated by: