Skip to main content

Building and flashing images on Renesas R-Car S4

To flash AutoSD onto your R-Car S4 board, download the Renesas boot firmware and AutoSD board support package, host the AutoSD image on a TFTP server, and configure your board to communicate with the server.

Installing the boot firmware​

To install the boot firmware for the R-Car S4, download and install the Renesas boot firmware files and the CentOS Stream Automotive Special Interest Group (SIG) board support package from COPR.

Getting Renesas firmware​

To install the boot firmware for the R-Car S4, download the startup guide, Tera Term macros, and boot firmware files from the R-Car S4 support page. These files are in the Software Downloads section and require login credentials from Renesas.

Prerequisites

  • Access to the Renesas R-Car S4 support page
  • A workstation PC configured with a TFTP server
  • A network connection between the PC and the R-Car S4 board

Procedure

  1. Download the Startup Guide zip file, R-Car S4 SDK Start Up Guide PKG v3.16.8.

    1. Extract the R-CarS4_SDK_StartupGuide_3.16.8.zip file from the archive. This archive has the R-CarS4_SDK_StartupGuide.pdf guide and the teratermmacro folder.
  2. Download the firmware files from R-Car S4 SDK Linux PKG with GCC compiler v3.16.8.

    1. Download xOS3_SDK1_Linux_ReferenceSDK1_v3.16.8_release.zip.

    2. Unpack the archive, then unpack the included rcar-xos_sdk1-gateway_v3.16.8_release.tar.gz file. The boot firmware is located in the rcar-xos/v3.16.8/os/bootloader/s4 directory.

  3. To install the firmware, follow the instructions in section 18 of the R-CarS4_SDK_StartupGuide.pdf, "How to flash images."

Installing the automotive board support package​

Install u-boot with abootimg support from the board support package.

Procedure

  1. Download the binary RPM file from the latest COPR build (for example, renesas-uboot-images-armv8-2010.10-5.1.1.rc9.2.4.el9.aarch64.rpm).

  2. Extract the u-boot.bin file from the RPM file by using the following command or by using a similar tool:

    rpm2cpio filename | cpio -id
  3. Place the u-boot.bin file on the TFTP server.

  4. Enter the U-Boot command line and set up networking per the instructions in Configuring networking in U-Boot.

  5. Load the u-boot.bin file, and write it to flash memory by using the following commands:

    mmc dev 0 1
    mw.b 0x48000000 0 40000
    tftp 0x48000000 u-boot.bin
    mmc write 0x48000000 7C00 0x502

    !!! Important Confirm that the file and the size is correct. The 0x502 corresponds to the 512 byte blocks of the u-boot.bin file size.

  6. Reboot the board by using the reset command.

  7. Verify that the U-Boot version command returns the version matching the RPM release (for example, U-Boot 2020.10-5.1.1.rc9.2.4.el9).

Installing the AutoSD Image​

To flash AutoSD onto your R-Car S4 board, you must host the AutoSD image on a TFTP server and configure the board to communicate with the server.

Prerequisites

  • Installed and functional boot firmware
  • A workstation PC configured with a TFTP server
  • A network connection between the PC and the R-Car S4 board

Configuring networking in U-Boot​

Configure networking on your R-Car S4 so that the board can communicate with the TFTP server that hosts your AutoSD image.

Procedure

  1. Connect port 1 of the 3 ports on the Ethernet subboard.

!!! note Identify port 1 from the printed circuit board (PCB) label (silkscreen) next to the connector. Of the three connectors labeled CN101, CN201, and CN301, port 1 is CN101. When you examine the RJ45 connector side of the board, port 1 is located further from the other 2 ports and on the right.

  1. Set the networking environment variables:

    $ setenv ethaddr __<xx:xx:xx:xx:xx:xx>__
    $ setenv ipaddr 192.168.0.20
    $ setenv netmask 255.255.255.0
    $ setenv serverip 192.168.0.1
    $ saveenv

    Insert values that match the values for your network setup:

    • ethaddr specifies the MAC address from the sticker attached to the Ethernet connector
    • ipaddr specifies the IP address of the S4 board
    • netmask specifies the standard netmask
    • serverip specifies the IP address of the PC hosting the TFTP server

Building the image​

To build AutoSD images, use the automotive-image-builder tool. See Installing the automotive-image-builder tool for installation instructions.

After you have installed the automotive-image-builder tool, to build images for your R-Car S4 board, you must download the rcar_s4.ipp.yml configuration file for the Renesas R-Car S4 board, which is available in the targets directory of the automotive-image-builder Gitlab repository.

Prerequisites

  • A Fedora, CentOS, or RHEL system running on an AArch64 architecture
  • gzip
  • A workstation PC configured with a TFTP server

Procedure

  1. Build the R-Car S4 AutoSD image, replacing &lt;manifest&gt; with your custom automotive image builder manifest file in the .aib.yml format:

    automotive-image-builder --container build --target rcar_s4 --mode package --export image ````&lt;path&gt;````/````&lt;manifest&gt;```` .

    !!! Note If you do not have your own manifest file, you can build an AutoSD image by using the example manifest file from sample-images. For more information about how to get sample images, see Cloning AutoSD sample images and automotive-image-builder.

  2. Compress the image:

    gzip cs9-rcar_s4-developer-regular.aarch64.img cs9-rcar_s4-developer-regular.aarch64.img.gz
  3. Place this image onto your TFTP server.

Flashing the image​

To flash the AutoSD image onto your R-Car S4, you must copy the image from your TFTP server onto your board.

Prerequisites

  • A workstation PC configured with a TFTP server that hosts your AutoSD image
  • A network connection between the PC and the R-Car S4 board

Procedure

  1. Download the image file to 0x480000000:

    $ tftp 0x480000000 cs9-rcar_s4-developer-regular.aarch64.img.gz
  2. Copy the image to the MMC device 0:

    $ gzwrite mmc 0 0x480000000 ${filesize} 1000000 0

Configuring U-Boot to boot the image​

To boot the AutoSD image, you must configure U-Boot on the R-Car S4 to boot from the image.

Prerequisites

  • An AutoSD image on MMC device 0

Procedure

  1. Set the bootcmd environment variable to load AutoSD and start AutoSD from the MMC device:

    setenv bootcmd 'mmc dev 0; part start mmc 0 boot_a boot_start; part size mmc 0 boot_a boot_size; mmc read $loadaddr $boot_start $boot_size; abootimg get dtb --index=0 dtb0_start dtb0_size; setenv bootargs androidboot.slot_suffix=_a; bootm $loadaddr $loadaddr $dtb0_start'
    saveenv
  2. To boot into AutoSD immediately, reset the board using the reset command.

  3. To start the boot process manually, use the run bootcmd command.

Additional Resources