Configure hardware and boot a reference image

The default image is set up to run the camera MUX 2x2 example application.

Setting up the R-Car V3M Starter board to use the reference image

If you haven't done so already, connect your R-Car V3M Starter board to:
  • a Lilliput 10" display, using the HDMI port on the R-Car V3M Starter board
  • a miniUSB-serial cable for a console
  • the power supply that came from the hardware vendor

Now follow the instructions in the “Installation Notes” chapter of the Renesas R-Car V3M Starter Kit BSP User's Guide for this release to:

  1. set up and configure the R-Car V3M Starter board
  2. load and boot up the MiniMonitor program
  3. program boot loaders to QSPI

After you complete programming the boot loaders to the QSPI flash, follow the steps below (Booting the reference image), instead of continuing to the “Boot the board” section from the the Renesas R-Car V3M Starter Kit BSP User's Guide, to boot your reference image.

Booting the reference image

Before you boot the reference image on the R-Car V3M Starter board, ensure that you have:

  1. Launch the TFTP server on your host. On Windows, select the path to your IFS image.
  2. Apply the appropriate DIP switch setting to the board for writing the image to RAM.
    Switch number Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8
    SW4 ON ON OFF ON OFF OFF OFF OFF
    For more information, see the “Set up and configure the hardware” section in the "Installation Notes" chapter of the Renesas R-Car V3M Starter Kit BSP User's Guide.
  3. Power on the board and after U-Boot runs, in your console, press any key to abort the autoboot process.
    NOTICE:  BL2: Boot device is QSPI Flash (40MHz)
    NOTICE:  BL2: LCM state is CM
    NOTICE:  BL2: v1.1(release):
    NOTICE:  BL2: Built : 10:31:37, Mar 17 2017
    NOTICE:  BL2: Normal boot
    NOTICE:  BL2: dst=0x40012168 src=0x8180000 len=512(0x200)
    NOTICE:  BL2: dst=0x50080000 src=0x8180400 len=6144(0x1800)
    NOTICE:  BL2: dst=0x50280000 src=0x81c0000 len=65536(0x10000)
    NOTICE:  BL2: dst=0x58280000 src=0x8600000 len=1310720(0x140000)
    
    U-Boot 2015.04-00001-gc93ac05 (Apr 19 2017 - 10:40:30)
    
    CPU: Renesas Electronics R8A7797 rev 1.0
    Board: R-Car EAGLE
    I2C:   ready
    DRAM:  896 MiB
    MMC:   sh-sdhi: 0
    SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 512MiB
    In:    serial
    Out:   serial
    Err:   serial
    Net:   ravb
    Hit any key to stop autoboot:  0
    =>
                        
  4. Set the following environment variables:
    • ethaddr: This variable specifies the MAC address assigned to the board. Refer to the label (sticker) on the Ethernet port (CN3) of your board to get the MAC address. For example:
      => setenv ethaddr 2e:09:0a:00:83:0c
      							
    • serverip: This specifies the IP address to use to communicate withthe TFTP server. Set this to the IP address that's assigned to your host machine with the TFTP server:
      => setenv serverip your host address of the TFTP server
      							
    • ipaddr: This specifies the IP address assigned to your board. Set this to the IP address assigned to your board.
      => setenv ipaddr board IP address
      							
    • bootfile: This specifies the image filename to be downloaded. This is the filename of your customized IFS on the TFTP Server.
      => setenv bootfile Image
      				    		
    • loadaddr: The starting address in RAM to use to load the image. This should be 0x40100000.
      => setenv loadaddr 0x40100000
      							
  5. Run the command saveenv after setting all environment variables to save the settings on the board. This ensures that the setting is preserved the next time the board reboots. You can also use command printenv to view the current board settings.
    => saveenv
    				    
  6. Run the tftp command to download the IFS to RAM as shown here:
    => tftp
  7. After the transfer is done, type go 0x40100000 to start running the IFS image:
    => go 0x40100000
                    	

    On your terminal console, you should see something similar to the following:

    ## Starting application at 0x40100000 ...
    board_smp_num_cpu: 2 cores
    MMU: 16-bit ASID 40-bit PA TCR_EL1=b5183519
    GICv2: 416 interrupts
    GICv2: routing SPIs to gic cpu 0
    cpu0: MPIDR=80000000
    cpu0: MIDR=410fd034 Cortex-A53 r0p4
    cpu0: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
    cpu0: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
    cpu0: L1 Icache 32K linesz=64 set/way=256/2
    cpu0: L1 Dcache 32K linesz=64 set/way=128/4
    cpu0: L2 Unified 512K linesz=64 set/way=512/16
    cpu0: GICv2 cpu interface 0
    Loading IFS...decompressing...done
    cpu1: MPIDR=80000001
    cpu1: MIDR=410fd034 Cortex-A53 r0p4
    cpu1: CWG=4 ERG=4 Dminline=4 Iminline=4 VIPT
    cpu1: CLIDR=a200023 LoUU=1 LoC=2 LoUIS=1
    cpu1: L1 Icache 32K linesz=64 set/way=256/2
    cpu1: L1 Dcache 32K linesz=64 set/way=128/4
    cpu1: L2 Unified 512K linesz=64 set/way=512/16
    cpu1: GICv2 cpu interface 1
    Header size=0x00000108, Total Size=0x000007b8, #Cpu=2, Type=257
    Section:system_private offset:0x00000368 size:0x000000b8
      syspage ptr user:ffffff8040202000 kernel:ffffff8040201000
      cpupage ptr user:ffffff8040202bc0 kernel:ffffff8040201bc0 spacing:112
      kdebug info:0000000000000000 callback:0000000000000000 num_ready:0
      pagesize:00001000 flags:00000000, kdinfo:00000000 tracebuf:0000000000000000
    Section:qtime offset:0x000002c8 size:0x00000060
      boot:00000000 CPS:00000000007f2815 rate/scale:1200000048/-16 intr:27
      flags:00000001 load:0 epoch:1970 rr_mul:0 adj count/inc:0/0
    Section:callout offset:0x00000108 size:0x000000c0
      reboot:ffffff80402019fc power:0000000000000000 watchdog:0000000000000000
      timer_load:ffffff8040201a28 reload:ffffff8040201a48 value:ffffff8040201a88
      0) display:ffffff8040201aa4 poll:ffffff8040201ae0 break:ffffff8040201b0c
      1) display:0000000000000000 poll:0000000000000000 break:0000000000000000
    Section:cpuinfo offset:0x00000328 size:0x00000040 elsize:0x00000020
      0) cpu:410fd034 flg:c0000c7a spd:1199 hwid:80000000 cache i/d:0/1 name:66
      1) cpu:410fd034 flg:c0000c7a spd:1199 hwid:80000001 cache i/d:0/1 name:66
    Section:cacheattr offset:0x00000738 size:0x00000040 elsize:0x00000020
      0) flags:01 size:0040 #lines:0200 ways:0000 control:ffffff80402017d0 next:255
      1) flags:02 size:0040 #lines:0200 ways:0000 control:ffffff8040201820 next:255
    Section:asinfo offset:0x00000518 size:0x000001c0 elsize:0x00000020
      0000) 0000000000000000-0000ffffffffffff o:ffff a:0010 p:100 c:0 n:21
      0020) 0000000000000000-00000000ffffffff o:0000 a:0010 p:100 c:0 n:28
      0040) 0000000040000000-000000007fffffff o:0020 a:0017 p:100 c:0 n:36
      0060) 00000000f1010000-00000000f1010fff o:0000 a:0003 p:100 c:0 n:40
      0080) 00000000f1020000-00000000f1020fff o:0000 a:0003 p:100 c:0 n:45
      00a0) 00000000401220b8-0000000041261ab3 o:0000 a:0005 p:100 c:0 n:77
      00c0) 0000000040100fb4-00000000401220b7 o:0000 a:0007 p:100 c:0 n:85
      00e0) 00000000401220b8-0000000041261ab3 o:0000 a:0007 p:100 c:0 n:93
      0100) 0000000000000000-00000000ffffffff o:ffff a:0010 p:100 c:0 n:101
      0120) ffffff8060027000-ffffff80600e7a80 o:0100 a:0000 p:100 c:0 n:109
      0140) 0000000040000000-0000000040007fff o:0040 a:0007 p:100 c:0 n:115
      0160) 0000000040010ca0-0000000040100fb3 o:0040 a:0007 p:100 c:0 n:115
      0180) 0000000041261ab4-0000000043efffff o:0040 a:0007 p:100 c:0 n:115
      01a0) 0000000047e00000-000000007fffffff o:0040 a:0007 p:100 c:0 n:115
    Section:hwinfo offset:0x000004d0 size:0x00000048
      0) size:3 tag:3(Group) isize:3, iname:0(hw), owner:65535, kids:1
      12) size:3 tag:17(Bus) isize:3, iname:9(unknown), owner:0, kids:1
      24) size:3 tag:3(Group) isize:3, iname:50(rtc), owner:12, kids:1
      36) size:4 tag:59(Device) isize:4, iname:54(NONE), owner:24, kids:0
         00 00 00 00
    Section:typed_strings offset:0x00000420 size:0x00000030
      off:0 type:5 string:'R-Car V3 rev 1.0'
      off:24 type:2 string:'localhost'
    Section:strings offset:0x00000450 size:0x00000080
      [0]'hw' [3]'Group' [9]'unknown' [17]'Bus' [21]'memory' [28]'below4G'
      [36]'ram' [40]'gicd' [45]'gicc' [50]'rtc' [54]'NONE' [59]'Device'
      [66]'Cortex-A53' [77]'imagefs' [85]'startup' [93]'bootram' [101]'virtual'
      [109]'vboot' [115]'sysram'
    Section:intrinfo offset:0x000006d8 size:0x00000060 elsize:0x00000060
      0) vector_base:00000000, #vectors:416, cascade_vector:7fffffff
         cpu_intr_base:00000000, cpu_intr_stride:0, flags:0000, local_stride:0
          id => flags:8000, size:004c, rtn:ffffff8040201878
         eoi => flags:9000, size:0034, rtn:ffffff80402018c4
         mask:ffffff80402018f8, unmask:ffffff8040201924, config:ffffff8040201950
    Section:smp offset:0x000002a0 size:0x00000028
      send_ipi:ffffff80402019b4 cpu:00000000 cpu2:0000000000000000
    Section:pminfo offset:0x00000778 size:0x00000000
    Section:mdriver offset:0x00000778 size:0x00000000 elsize:0x00000030
    
    System page at phys:0000000040010000 user:ffffff8040202000 kern:ffffff8040201000
    Starting next program at vffffff8060062d40
    MMFLAGS=1
    Welcome to QNX Neutrino 7.0 image on the R-Car V3M Starterkit Board
    Starting slogger and pipe servers...
    Starting watchdog ...
    Starting Serial driver...
    Starting I2C driver ...
    Starting SPI Flash driver...
    Starting Network driver...
                        
  8. When prompted, enter the requested parameters for your NFS server. For example:
    Mounting NFS: provide fs-nfs3 parms:
    10.122.1.10:/mnt/export/ /
                        

    In your console, you should see something similar to the following:

    starting eMMC driver
    waiting for hd0
    Path=copying SD image to eMMC
    0 - RCar MMCIF
     target=0 lun=0     Direct-Access(0) - SDMMC: 016G30 Rev: 0.0
    7626752+0 records in
    7626752+0 records out
    syncing
    please reset target
                        
    Note: It may take a while (approximately 16 minutes) to complete the transfer of the image to eMMC.
  9. Reset the board.
  10. After U-boot starts, enter the following on your console:
    => setenv bootcmd 'fatload mmc 0 0x40100000 qnx-ifs; go 0x40100000'
                    	
  11. Save your environment settings:
    => saveenv
                    	
  12. Reset the board.

After the image boots, it runs the Camera MUX 2x2 example application by default and uses the camera from the ADAS View Solution Kit. If you want to run another application or change the configuration to use cameras or sensors connected to your board, see the Use the Reference Image chapter of this guide for more information.