HOWTO: Use IVT Tool To Create A Blob Image S32G274A

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

HOWTO: Use IVT Tool To Create A Blob Image S32G274A

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.

Prerequisites

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.

Procedure

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

    pastedImage_3.png

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

    pastedImage_2.png

  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). 

    pastedImage_4.pngpastedImage_17.png

  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.

    pastedImage_5.png
    pastedImage_4.png

  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.

    pastedImage_6.png

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

    pastedImage_7.png
    pastedImage_1.png

  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.

    pastedImage_2.png

    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.

      pastedImage_8.png

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

      pastedImage_9.png

    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.

      pastedImage_6.pngpastedImage_7.png

  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.

    pastedImage_8.pngpastedImage_9.png

    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.

    pastedImage_10.png

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

    pastedImage_22.png

  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).

    pastedImage_3.png
コメント

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!!

100%が役に立ったと言っています (2/2)
バージョン履歴
最終更新日:
‎01-24-2020 08:30 AM
更新者: