Difference between revisions of "R-Car/Boards/Kingfisher/Yocto-Gen3/v3.21.0"
m (→mPCI) |
|||
(23 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
This page contains information on building and running Yocto on: | This page contains information on building and running Yocto on: | ||
* [[R-Car/Boards/Kingfisher | Infotainment Carrier Board For R-Car Starter Kit(Kingfisher)]] | * [[R-Car/Boards/Kingfisher | Infotainment Carrier Board For R-Car Starter Kit(Kingfisher)]] | ||
+ | See also: | ||
+ | * Latest version [[R-Car/Boards/Kingfisher/Yocto-Gen3 ]] | ||
+ | * Stable version [[R-Car/Boards/Kingfisher/Yocto-Gen3-stable ]] | ||
− | == | + | == Topic == |
− | [http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-2.4.3 | + | {{Template:R-Car-Gen3-KF-Topic}} |
− | + | ||
+ | == Software revisions == | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Software !! Revision | ||
+ | |- | ||
+ | | Yocto Project || [http://git.yoctoproject.org/cgit/cgit.cgi/poky/tag/?id=yocto-2.4.3 2.4.3] | ||
+ | |- | ||
+ | | Toolchain gcc-poky || 7.3 | ||
+ | |- | ||
+ | | Wayland/Weston || 1.13.0/2.0.0 | ||
+ | |- | ||
+ | | GStreamer || 1.12.2 | ||
+ | |- | ||
+ | | Kernel Ver || LTSI 4.14.75 | ||
+ | |- | ||
+ | | Userland 64/32bit || 64 | ||
+ | |- | ||
+ | | U-Boot || 2018.09 | ||
+ | |- | ||
+ | | OP_TEE || 3.1.0 | ||
+ | |- | ||
+ | | OpenGL ES || 3.2 | ||
+ | |- | ||
+ | |} | ||
== Host PC == | == Host PC == | ||
Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported. <br/> | Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported. <br/> | ||
+ | Ubuntu 18.04 LTS 64bit is also supported.<br/> | ||
== Required packages == | == Required packages == | ||
# Download evaluation version of proprietary graphics and multimedia drivers from Renesas. | # Download evaluation version of proprietary graphics and multimedia drivers from Renesas. | ||
#: To download Multimedia and Graphics library and related Linux drivers, please use the following link: | #: To download Multimedia and Graphics library and related Linux drivers, please use the following link: | ||
− | #:: https://www.renesas.com/us/en/ | + | #:: https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-h2-m2-e2-documents-software |
#: Download two files: | #: Download two files: | ||
#:: R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip | #:: R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip | ||
Line 71: | Line 100: | ||
git clone git://git.linaro.org/openembedded/meta-linaro.git & | git clone git://git.linaro.org/openembedded/meta-linaro.git & | ||
git clone git://git.openembedded.org/meta-openembedded & | git clone git://git.openembedded.org/meta-openembedded & | ||
− | git clone | + | git clone https://github.com/renesas-rcar/meta-renesas & |
− | git clone | + | git clone https://github.com/CogentEmbedded/meta-rcar.git & |
# Wait for all clone operations | # Wait for all clone operations | ||
Line 85: | Line 114: | ||
git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 | git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 | ||
cd $WORK/meta-renesas | cd $WORK/meta-renesas | ||
− | git checkout -b tmp | + | git checkout -b tmp e5267d02de785b972aa78afecfff390168e11a6d |
cd $WORK/meta-rcar | cd $WORK/meta-rcar | ||
git checkout -b v3.21.0 remotes/origin/v3.21.0 | git checkout -b v3.21.0 remotes/origin/v3.21.0 | ||
Line 130: | Line 159: | ||
git clone git://git.openembedded.org/meta-openembedded | git clone git://git.openembedded.org/meta-openembedded | ||
git clone git://git.linaro.org/openembedded/meta-linaro.git | git clone git://git.linaro.org/openembedded/meta-linaro.git | ||
− | git clone | + | git clone https://github.com/renesas-rcar/meta-renesas |
− | git clone | + | git clone https://github.com/CogentEmbedded/meta-rcar.git |
</syntaxhighlight> | </syntaxhighlight> | ||
− | # Switch to proper branches/commits <span style="color:#ff0000;">( | + | # Switch to proper branches/commits <span style="color:#ff0000;">(2022/08/25 updated)</span> |
#: <syntaxhighlight lang="bash"> | #: <syntaxhighlight lang="bash"> | ||
cd $WORK/poky | cd $WORK/poky | ||
Line 142: | Line 171: | ||
git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 | git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 | ||
cd $WORK/meta-renesas | cd $WORK/meta-renesas | ||
− | git checkout -b tmp | + | git checkout -b tmp e5267d02de785b972aa78afecfff390168e11a6d <= updated 2022/8/25 |
cd $WORK/meta-rcar | cd $WORK/meta-rcar | ||
git checkout -b v3.21.0 remotes/origin/v3.21.0 | git checkout -b v3.21.0 remotes/origin/v3.21.0 | ||
Line 148: | Line 177: | ||
#: Another versions are not tested for compatibility. | #: Another versions are not tested for compatibility. | ||
#: Legacy BSP instruction can be found here [[R-Car/Boards/Kingfisher/Yocto-Gen3-legacy | R-Car Kingfisher Yocto Gen3 legacy]] | #: Legacy BSP instruction can be found here [[R-Car/Boards/Kingfisher/Yocto-Gen3-legacy | R-Car Kingfisher Yocto Gen3 legacy]] | ||
− | # | + | # Create $WORK/../proprietary folder, then download proprietary driver modules to it. |
+ | #: See also [[{{PAGENAME}}#Required_packages | Required_packages]] | ||
#: You should see the following files: | #: You should see the following files: | ||
#: <syntaxhighlight lang="bash"> | #: <syntaxhighlight lang="bash"> | ||
− | $ ls -1 $WORK/proprietary/*.zip | + | $ ls -1 $WORK/../proprietary/*.zip |
R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip | R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip | ||
R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip | R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip | ||
Line 157: | Line 187: | ||
# Populate meta-renesas with proprietary software packages. | # Populate meta-renesas with proprietary software packages. | ||
#: <syntaxhighlight lang="bash"> | #: <syntaxhighlight lang="bash"> | ||
− | export PKGS_DIR=$WORK/proprietary | + | export PKGS_DIR=$WORK/../proprietary |
cd $WORK/meta-renesas | cd $WORK/meta-renesas | ||
sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR | sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR | ||
Line 259: | Line 289: | ||
== Build SDK == | == Build SDK == | ||
− | Refer to [[R-Car/Boards/Yocto-Gen3#Build_SDK | Build SDK]] on the Yocto-Gen3 page. | + | Refer to [[R-Car/Boards/Yocto-Gen3/{{SUBPAGENAME}}#Build_SDK | Build SDK]] on the Yocto-Gen3 page. |
== Running Yocto images == | == Running Yocto images == | ||
− | Refer to [[R-Car/Boards/Yocto-Gen3#Running_Yocto_images |Running Yocto images]] on the Yocto-Gen3 page.</br> | + | Refer to [[R-Car/Boards/Yocto-Gen3/{{SUBPAGENAME}}#Running_Yocto_images |Running Yocto images]] on the Yocto-Gen3 page.</br> |
'''[NOTE]''' | '''[NOTE]''' | ||
: DTB filename for Kingfisher contains suffix "-kf". | : DTB filename for Kingfisher contains suffix "-kf". | ||
Line 273: | Line 303: | ||
! Functions !! Status | ! Functions !! Status | ||
|- | |- | ||
− | | WiFi || ok | + | | [[{{PAGENAME}}#WiFi | WiFi]] || ok |
+ | |- | ||
+ | | [[{{PAGENAME}}#Bluetooth | Bluetooth ]] || ok | ||
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#Gyro | Gyro ]] || ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#GPS | GPS ]]|| ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#CAN | CAN ]]|| ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#Serial| Serial]](CN4) || ok |
|- | |- | ||
− | | LVDS Camera(CN10/CN11) || ok | + | | [[{{PAGENAME}}#LVDS_Camera| LVDS Camera ]](CN10/CN11) || ok |
|- | |- | ||
− | | CMOS Camera || ok | + | | [[{{PAGENAME}}#CMOS_Camera| CMOS Camera ]] || ok |
|- | |- | ||
− | | Raspberry Pi camera Rev 1.3 || ok | + | | [[{{PAGENAME}}#Raspberry_Pi_camera_Rev_1.3(OV5647)_/_2(IMX219) | Raspberry Pi camera]] Rev 1.3 || ok |
|- | |- | ||
− | | Raspberry Pi camera Rev 2 || ok | + | | [[{{PAGENAME}}#Raspberry_Pi_camera_Rev_1.3(OV5647)_/_2(IMX219) | Raspberry Pi camera]] Rev 2 || ok |
|- | |- | ||
| USB2.0(CN13) Host || ok | | USB2.0(CN13) Host || ok | ||
Line 297: | Line 329: | ||
| USB3.0(CN2) Host || ok (H3 only) | | USB3.0(CN2) Host || ok (H3 only) | ||
|- | |- | ||
− | | Multichannel Audio || ok | + | | [[{{PAGENAME}}#Multichannel_Audio| Multichannel Audio]] || ok |
|- | |- | ||
| HDMI Out || ok | | HDMI Out || ok | ||
Line 303: | Line 335: | ||
| LVDS Out || ok | | LVDS Out || ok | ||
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#mPCI| Mini PCIe]] || ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#M.2| M.2]] || ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#MOST | MOST ]]|| ok |
|- | |- | ||
− | | | + | | [[{{PAGENAME}}#Radio| Radio ]](CN42)|| ok |
|- | |- | ||
|} | |} | ||
Line 381: | Line 413: | ||
(*)Note: SW2 ON of KF. (defalt:ON) | (*)Note: SW2 ON of KF. (defalt:ON) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | ::[[File:KF_CAN.jpg|350px]] | ||
: <syntaxhighlight lang="bash"> | : <syntaxhighlight lang="bash"> | ||
$ ip link set can0 up type can bitrate 125000 | $ ip link set can0 up type can bitrate 125000 | ||
Line 420: | Line 453: | ||
*: Camera: IMI RDACM21-01 <-- This may be out of stock | *: Camera: IMI RDACM21-01 <-- This may be out of stock | ||
*: Camera: Leopard Imaging LI-OV10635-GMSL | *: Camera: Leopard Imaging LI-OV10635-GMSL | ||
− | *: Camera: Entron S001A190CM0A (How to get) | + | *: Camera: Entron S001A190CM0A (How to get : [[R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera]]) |
* <FPD Link> | * <FPD Link> | ||
*: Camera board: FPDL01 | *: Camera board: FPDL01 | ||
Line 457: | Line 490: | ||
#: <syntaxhighlight lang="bash"> | #: <syntaxhighlight lang="bash"> | ||
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=728,framerate=30/1 ! waylandsink | $ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=728,framerate=30/1 ! waylandsink | ||
+ | </syntaxhighlight> | ||
+ | Ex3) 2 cameras | ||
+ | : <syntaxhighlight lang="bash"> | ||
+ | $ killall weston | ||
+ | $ capture -D 2 -F -f rgb32 -L 160 -T 0 -W 960 -H 800 -c 1000 -z | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 485: | Line 523: | ||
==== Multichannel Audio ==== | ==== Multichannel Audio ==== | ||
− | * Ex1) CN12/32 on KF | + | * Ex1) CN12/32/33 on KF |
*: <syntaxhighlight lang="bash"> | *: <syntaxhighlight lang="bash"> | ||
$ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ | $ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ | ||
+ | $ arecord -c 6 -r 48000 -f S32_LE | aplay | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* Ex2) | * Ex2) | ||
Line 527: | Line 566: | ||
--Creating ALSA devices-- | --Creating ALSA devices-- | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | # | + | # ./setup-audio-50 & |
#: <syntaxhighlight lang="text"> | #: <syntaxhighlight lang="text"> | ||
$./setup-audio-50 & | $./setup-audio-50 & | ||
Line 569: | Line 608: | ||
==== Radio ==== | ==== Radio ==== | ||
Ex) FM Radio<br> | Ex) FM Radio<br> | ||
− | : If radio module is used for the first time, updating radio module firmware is required. | + | : Connect the antenna to CN42 on Kingfisher boards. |
− | : Updating firmware is not required after the second time. | + | :{{Note}} |
+ | :: If radio module is used for the first time, updating radio module firmware is required. | ||
+ | :: Updating firmware is not required after the second time. | ||
: <syntaxhighlight lang="bash"> | : <syntaxhighlight lang="bash"> | ||
$ si_init | $ si_init | ||
Line 610: | Line 651: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | == | + | ==== Video Playback (H.264 decoding) ==== |
− | + | Ex1) Video playback | |
+ | : <syntaxhighlight lang="bash"> | ||
+ | $ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! waylandsink | ||
+ | </syntaxhighlight> | ||
+ | Ex2) Video playback with audio | ||
+ | : <syntaxhighlight lang="bash"> | ||
+ | $ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux name=demux demux.audio_0 ! queue ! omxaaclcdec ! alsasink demux.video_0 ! queue ! h264parse ! omxh264dec ! waylandsink | ||
+ | </syntaxhighlight> | ||
== FAQ == | == FAQ == | ||
Line 641: | Line 687: | ||
== Known issues and limitations == | == Known issues and limitations == | ||
# Refer to [[R-Car/Boards/Kingfisher#Known_Issues]]. | # Refer to [[R-Car/Boards/Kingfisher#Known_Issues]]. | ||
+ | # Refer to [[R-Car/Boards/Yocto-Gen3/{{SUBPAGENAME}}#Known_issues_and_limitations]]. | ||
+ | |||
+ | {{Template:R-Car-Yocto-Gen3-footer}} |
Latest revision as of 02:37, 25 August 2022
|
Introduction
This page contains information on building and running Yocto on:
See also:
- Latest version R-Car/Boards/Kingfisher/Yocto-Gen3
- Stable version R-Car/Boards/Kingfisher/Yocto-Gen3-stable
Topic
EOL Notification of the M3SK
Production of M3SK is discontinued.
See M3SK page for detail.
The new version of R-Car Starter Kit Premier is now on sale !!
- Equipped with R-Car H3e-2G
-
(En) https://www.renesas.com/jp/en/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Zh) https://www.renesas.com/jp/zh/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
(Jp) https://www.renesas.com/jp/ja/about/press-room/renesas-launches-r-car-gen3e-20-percent-higher-cpu-speed-automotive-infotainment-cockpit-and-digital
- CPU performance is increased 20% by supporting up to 2GHz frequency over past products.
- You can buy from here.
SW Release Information
Board name | SW name | Release date | Note |
---|---|---|---|
R-Car Starter Kit ( Premier / Pro ) | Yocto v5.9.0 (stable) [New!!] | 2022/02/08 | |
Kingfisher Infotainment Board | Yocto v5.9.0 (stable) [New!!] | 2022/02/14 | To check for latest information, please refer to the meta-rcar/tree/v5.9.0. |
Android 10 (stable) | 2021/07/26 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/11/25. | |
Android P (stable) | 2020/09/29 | R-Car Starter Kit Premier(R-Car H3) + Kingfisher is supported. R-Car Starter Kit Pro(RTP8J77961ASKB0SK0SA05A) + Kingfisher is also supported from 2021/03/16. | |
CCPF-SK Board | Yocto v5.9.0 (stable) [New!!] | 2022/02/08 | Prebuilt binary is available in Quick startup guide page. (Updated on 2022/03/18) |
Kingfisher Board Stock Information
- Click here for detail
New Camera Support
- Please refer to FAQ for how to purchase.
Software revisions
Software | Revision |
---|---|
Yocto Project | 2.4.3 |
Toolchain gcc-poky | 7.3 |
Wayland/Weston | 1.13.0/2.0.0 |
GStreamer | 1.12.2 |
Kernel Ver | LTSI 4.14.75 |
Userland 64/32bit | 64 |
U-Boot | 2018.09 |
OP_TEE | 3.1.0 |
OpenGL ES | 3.2 |
Host PC
Ubuntu 16.04 LTS (64bit) is recommended as OS. 32bit version is not supported.
Ubuntu 18.04 LTS 64bit is also supported.
Required packages
- Download evaluation version of proprietary graphics and multimedia drivers from Renesas.
- To download Multimedia and Graphics library and related Linux drivers, please use the following link:
- Download two files:
- R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip
- R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
- Graphic drivers are required for Wayland. Multimedia drivers are optional.
- Install required packages
- Ubuntu and Debian
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat libsdl1.2-dev xterm python-crypto cpio python python3 \ python3-pip python3-pexpect xz-utils debianutils iputils-ping libssl-dev
- Fedora
sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch \ diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat \ SDL-devel xterm python-crypto cpio python python3 python3-pip python3-pexpect \ ghc-lzma-conduit iputils openssl
- Refer to Yocto Project Quick Start for more information.
- Ubuntu and Debian
Building the BSP for Kingfisher
Build using script
This example is for Kingfisher with H3ULCB board.
If you use other board, you need to modify the script.
- Directory Structure
|--build.sh `--proprietary |--R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip `--R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
- Build script(build.sh)
#!/bin/bash #Set the target board TARGET_BOARD=h3ulcb #TARGET_BOARD=m3ulcb # Create a directory and switch to it mkdir $TARGET_BOARD cd $TARGET_BOARD WORK=`pwd` echo $WORK # Clone basic Yocto layers in parallel git clone git://git.yoctoproject.org/poky & git clone git://git.linaro.org/openembedded/meta-linaro.git & git clone git://git.openembedded.org/meta-openembedded & git clone https://github.com/renesas-rcar/meta-renesas & git clone https://github.com/CogentEmbedded/meta-rcar.git & # Wait for all clone operations wait # Switch to proper branches/commits cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp e5267d02de785b972aa78afecfff390168e11a6d cd $WORK/meta-rcar git checkout -b v3.21.0 remotes/origin/v3.21.0 # Populate meta-renesas with proprietary software packages cd $WORK/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $WORK/../proprietary cd $WORK source poky/oe-init-build-env $WORK/build #cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/bsp/*.conf ./conf/. #cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/gfx-only/*.conf ./conf/. cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/${TARGET_BOARD}/poky-gcc/mmp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf echo 'DISTRO_FEATURES_append = " use_eva_pkg"' >> $WORK/build/conf/local.conf bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas bitbake core-image-weston
- build
./build.sh
- If the build completes successfully, all the necessary files are generated in a following directory:
./<target_board_name>/build/tmp/deploy/images/<target_board_name>
Build using manual steps
- Create a directory and switch to it
- Warning! Yocto builds require a lot of disk space (up to 100 GB). Make sure you have got enough before starting the build.
mkdir build cd build export WORK=`pwd`
- Clone basic Yocto layers:
cd $WORK git clone git://git.yoctoproject.org/poky git clone git://git.openembedded.org/meta-openembedded git clone git://git.linaro.org/openembedded/meta-linaro.git git clone https://github.com/renesas-rcar/meta-renesas git clone https://github.com/CogentEmbedded/meta-rcar.git
- Switch to proper branches/commits (2022/08/25 updated)
cd $WORK/poky git checkout -b tmp 7e7ee662f5dea4d090293045f7498093322802cc cd $WORK/meta-openembedded git checkout -b tmp 352531015014d1957d6444d114f4451e241c4d23 cd $WORK/meta-linaro git checkout -b tmp 75dfb67bbb14a70cd47afda9726e2e1c76731885 cd $WORK/meta-renesas git checkout -b tmp e5267d02de785b972aa78afecfff390168e11a6d <= updated 2022/8/25 cd $WORK/meta-rcar git checkout -b v3.21.0 remotes/origin/v3.21.0
- Another versions are not tested for compatibility.
- Legacy BSP instruction can be found here R-Car Kingfisher Yocto Gen3 legacy
- Create $WORK/../proprietary folder, then download proprietary driver modules to it.
- See also Required_packages
- You should see the following files:
$ ls -1 $WORK/../proprietary/*.zip R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20190722.zip R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20190722.zip
- Populate meta-renesas with proprietary software packages.
export PKGS_DIR=$WORK/../proprietary cd $WORK/meta-renesas sh meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh -f $PKGS_DIR unset PKGS_DIR
- Setup build environment
cd $WORK source poky/oe-init-build-env $WORK/build
- Prepare default configuration files.
# [m3ulcb] cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/mmp/*.conf ./conf/ # [h3ulcb] # cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/mmp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf
- NOTE: extra configuration examples are available in the following directory:
$WORK/meta-rcar/meta-rcar-gen3-adas/docs/sample/conf/
- (Edit $WORK/build/conf/local.conf to enable/disable graphics and multimedia proprietary drivers support)
- Edit local.conf with evaluation packages requirements:
DISTRO_FEATURES_append = " use_eva_pkg"
- Add layer meta-rcar
bitbake-layers add-layer ../meta-rcar/meta-rcar-gen3-adas
- Start the build
bitbake core-image-weston
- Building image can take up to a few hours depending on your host system performance.
After the build has been completed successfully, you should see the output similar to:NOTE: Tasks Summary: Attempted 4704 tasks of which 31 didn't need to be rerun and all succeeded.
- and the command prompt should return.
- Bitbake has generated all the necessary files in ./tmp/deploy/images directory.
You can verify its content:$ ls -1 `find ./tmp/deploy/images/m3ulcb/ -maxdepth 1 -type l -print` ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.cpio.gz ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.ext4 ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.manifest ./tmp/deploy/images/m3ulcb/core-image-weston-m3ulcb.tar.bz2 ./tmp/deploy/images/m3ulcb/Image ./tmp/deploy/images/m3ulcb/Image-m3ulcb.bin ./tmp/deploy/images/m3ulcb/Image-r8a7796-m3ulcb-kf.dtb ./tmp/deploy/images/m3ulcb/modules-m3ulcb.tgz ./tmp/deploy/images/m3ulcb/u-boot.bin ./tmp/deploy/images/m3ulcb/u-boot-elf-m3ulcb.srec ./tmp/deploy/images/m3ulcb/u-boot-elf.srec ./tmp/deploy/images/m3ulcb/u-boot-m3ulcb.bin
- Image is a Kernel image, *.dtb is a blob file, core-image-weston-m3ulcb.tar.bz2 is the rootfs, modules-m3ulcb.tgz are kernel modules.
- You can now proceed with running Yocto images
Build with MOST
MOST and GPS share the same R-Car SoC pins and GPS is used by default.
In order to use MOST one need to perform h/w modifications on KF board:
- M04, M05
move resistor from R661 -> R660
move resistor from R663 -> R662
- M06
Slide SW7 to "MOST" side.
Build with SD3 (CN47)
SD3 and WIFI share the same R-Car SoC resource and WIFI is used by default.
In order to use SD on CN47 instead WIFI add following option to local.conf:
KF_ENABLE_SD3 = "1"
Build with LVDS panel(CN49)
Yocto v3.13.0 or later supports the following LVDS panels.
BD101LCC1 - Boundary Devices BD101LCC1 1280x800 panels [default]
TX31D200VM0BAA - KOE TX31D200VM0BAA 1280x480 panel
AA104XD12 - Mitsubishi AA104XD12 1024x768 panel
AA121TD01 - Mitsubishi AA121TD01 1280x800 panel
How to select:
- Add following option to local.conf:
KF_PANEL_MODEL = "TX31D200VM0BAA"
or
KF_PANEL_MODEL = "AA104XD12"
or
KF_PANEL_MODEL = "AA121TD01"
Build with CN11
18px <translate> Note:</translate>CN11 is available on kigfisher board + R-Car Starter Kit Premier(H3) only.
CN11 and CN29/48(CMOS/CSI) share the same R-Car SoC pins and CN29/CN48 is used by default.
In order to use CN11 instead CN29/48(CMOS/CSI), add following option to local.conf:
KF_ENABLE_CN11 = "1"
Build SDK
Refer to Build SDK on the Yocto-Gen3 page.
Running Yocto images
Refer to Running Yocto images on the Yocto-Gen3 page.
[NOTE]
- DTB filename for Kingfisher contains suffix "-kf".
- Ex.) r8a7795-h3ulcb-kf.dtb
- If you want to know the combinatation of the board and dtb file, please refer to here.
S/W support status
Support list
Functions | Status |
---|---|
WiFi | ok |
Bluetooth | ok |
Gyro | ok |
GPS | ok |
CAN | ok |
Serial(CN4) | ok |
LVDS Camera (CN10/CN11) | ok |
CMOS Camera | ok |
Raspberry Pi camera Rev 1.3 | ok |
Raspberry Pi camera Rev 2 | ok |
USB2.0(CN13) Host | ok |
USB2.0(CN13) Func(g_mass_storage) | ok |
USB3.0(CN2) Host | ok (H3 only) |
Multichannel Audio | ok |
HDMI Out | ok |
LVDS Out | ok |
Mini PCIe | ok |
M.2 | ok |
MOST | ok |
Radio (CN42) | ok |
Note:
- "ok" - Function succeeded in the simple test as below.
- "NT" - Function wasn't tested
How to test some capabilities
WiFi
To check wifi and scan available WAPs run:
$ ifconfig wlan0 up $ iwlist wlan0 scan
Bluetooth
Ex 1)To check bluetooth and scan available BT devices run:
$ hciconfig hci0 up $ hcitool -i hci0 scan
Ex 2)BT-Audio
root@h3ulcb:~# bluetoothctl [NEW] Controller C8:DF:84:4C:84:98 h3ulcb [default] Agent registered [bluetooth]# power on Changing power on succeeded [bluetooth]# agent on Agent is already registered [bluetooth]# default-agent Default agent request successful [bluetooth]# scan on Discovery started ..(snip).. !!! <-- Please look for taget device !!! [bluetooth]# scan off ..(snip).. [bluetooth]# pair <MAC address of target device> ..(snip).. Request confirmation [agent] Confirm passkey 285311 (yes/no): yes ..(snip).. Pairing successful [bluetooth]# connect <MAC address of target device> ..(snip).. Connection successful ..(snip).. [Target device name]# quit
Please play music on target device.
Gyro
$ cat /sys/bus/iio/devices/iio\:device0/*_raw (Accelerometer, Magnetometer)
$ cat /sys/bus/iio/devices/iio\:device1/*_raw (Gyroscope)
GPS
$ cat /dev/ttySC2 # (Yocto v3.x)
CAN
Ex) loop back
- Connect the following pins of CN17 and CN18:
$ ip link set can0 up type can bitrate 125000 $ ip link set can1 up type can bitrate 125000 $ candump can0& $ cangen can1 can0 08D [3] B5 F4 3C can0 34E [3] 7C A1 70 can0 717 [6] 95 C5 67 4A 41 42 can0 7F1 [8] CA B9 E9 3E AE 71 FC 52
Serial
Ex) loop back
- For KF M03: Connect the following pins on CN4:
pin3(RxD) - pin5(TxD) pin4(RTS) - pin6(CTS)
- For KF M04 or later: Connect the following pins on CN4:
pin2(TxD) - pin4(RxD) pin1(RTS) - pin3(CTS)
$ stty -F /dev/ttySC3 -echo $ stty -F /dev/ttySC3 speed 9600 baud; line = 0; -brkint -imaxbel -echo $ cat /dev/ttySC3 & $ echo 123435452345 > /dev/ttySC3 123435452345
LVDS Camera
- <GMSL>
- Camera board: GMSL02
- Camera: IMI RDACM21-01 <-- This may be out of stock
- Camera: Leopard Imaging LI-OV10635-GMSL
- Camera: Entron S001A190CM0A (How to get : R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera)
- <FPD Link>
- Camera board: FPDL01
- Camera: IMI RDACM24-01 <-- This may be out of stock
[Note]
- H3 can use CN10 and CN11
- M3 can use CN10
- When you use a Leopard Imaging camera, add some parameters to bootargs.
Leopard Imagin camera type name | bootargs |
---|---|
LI-OV10635-GMSL | ov106xx.dvp_order=0 |
S001A190CM0A | max9286.him=1 max9286.vsync=0 max9286.fsync_period=2420000 max9286.crossbar=0x01234567 |
(IMI) RDACM21 |
Ex1)
$ killall weston $ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 1080 -c 1000 -z
Ex2)
- RDACM21-01/RDACM24-1
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=1080,framerate=30/1 ! waylandsink
- LI-OV10635-GMSL
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=800,framerate=30/1 ! waylandsink
- S001A190CM0A
$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=dmabuf ! video/x-raw,format=BGRA,width=1280,height=728,framerate=30/1 ! waylandsink
Ex3) 2 cameras
$ killall weston $ capture -D 2 -F -f rgb32 -L 160 -T 0 -W 960 -H 800 -c 1000 -z
CMOS Camera
Ex)
$ systemctl stop weston $ capture -d /dev/video0 -F -f rgb32 -L 0 -T 0 -W 1280 -H 720 -c 1000 -t 60 -z
Raspberry Pi camera Rev 1.3(OV5647) / 2(IMX219)
- In case of v2(IMX219)
- Add the following option to local.conf:
KF_ENABLE_IMX219 = "1"
- Add the following option to local.conf:
- Ex)
$ systemctl stop weston $ capture -d /dev/video0 -o -f bggr8 -W 2592 -H 1944 -c 1 -t 30 > video.bggr [ 2475.196942] rcar_csi2 fea80000.csi2: Timeout of reading the PHY clock lane [ 2475.203851] rcar_csi2 fea80000.csi2: Timeout of reading the PHY data lane
Ubuntu PC$ ./bayer2rgb -i video.bggr -o video.rgb24 -w 2592 -v 1944 -b 8 -f BGGR * https://github.com/jdthomas/bayer2rgb.git Ubuntu PC$ rawtoppm -rgb 2592 1944 video.rgb24 > video24.ppm Ubuntu PC$ display video24.ppm
Multichannel Audio
- Ex1) CN12/32/33 on KF
$ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ $ arecord -c 6 -r 48000 -f S32_LE | aplay
- Ex2)
<KF> $ pactl set-default-sink pcm3168a_output $ speaker-test -c 8 -t wav -W /usr/share/sounds/alsa/ <SK> $ pactl set-default-sink ak4613_output $ amixer -c 1 sset "DVC Out" 10% $ speaker-test -c 2 -t wav -W /usr/share/sounds/alsa/
- Ex3)
<KF> $ paplay -d pcm3168a_output sample.wav <SK> $ amixer -c 1 sset "DVC Out" 10% $ paplay -d ak4613_output sample.wav
MOST
Ex)
- Connect OS81092 board(Physical+ Interface Board OS81092) and CN22 of KF.
- Connect Audio board(OS81092 Audio Demo Board) and OS819092 board with exclusive cable.
- Connect Audio board and CN5 of SK with USB cable.
- Run the linux kernel
- cd /usr/share/most/
- ./most_setup.sh
$./most_setup.sh --Setting up RX channel with MLB[ 217.636328] aim_sound: PCM format is 16-bit stereo addr 0x03 (0x06)-- --S[ 217.642675] aim_sound: PCM format is 16-bit stereo etting up TX channel wit[ 217.649647] aim_sound: PCM format is 16-bit stereo h MLB addr 0x04 (0x08)-- --Setting up TX channel with MLB addr 0x06 (0x0C)-- --Creating char devices-- --Creating ALSA devices--
- ./setup-audio-50 &
$./setup-audio-50 & Configuration: Timing Slave (Audio Sink) ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0010 MSVAL_ERR_STARTUP_FAILED MSVAL_E_SHUTDOWN App reset MSVAL_E_SHUTDOWN App reset ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY ! ET_NS_MSVAL_ERROR a MSVAL Error is reported from the NS: 0x0011 MSVAL_ERR_STARTUP_BUSY (snip)
- Push the "Switch" button on the Audio board
-> MostAllowRemoteAccess(allow) -> SourceInfo.Status 1 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400) -> SourceInfo.Status 2 (Inst_ID: 0x1, FB: 0x24, Adr: 0x400) -> Amplifier.Volume.Set 100
- Push the "Switch" button on the Audio board again
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x02
- Push the "Switch" button on the Audio board again
<- FB_AuxIn_Allocate_StartResult Node: 0x01, Ifn: 0x01
- ./most_play.sh ${PATH}/hoge.mp3 5
$./most_play.sh /home/root/hoge.mp3 5 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Redistribute latency... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock
Radio
Ex) FM Radio
- Connect the antenna to CN42 on Kingfisher boards.
- 18px <translate> Note:</translate>
- If radio module is used for the first time, updating radio module firmware is required.
- Updating firmware is not required after the second time.
$ si_init $ si_firmware_update ( Update firmware of radio module.) $ si_fm $ si_preset <FM Radio frequency> ( In Tokyo, Japan, 91600 is Nippon Cultural Broadcasting. )
M.2
Ex) Transcend TS128GMTE850
$ dmesg|grep nvme<br> [ 1.646158] nvme nvme0: pci function 0000:01:00.0<br> [ 1.650890] nvme 0000:01:00.0: enabling device (0000 -> 0002)<br> [ 2.563406] nvme0n1: p1 p2<br> $ mount /dev/nvme0n1p1 /mnt/
mPCI
Ex) Intel 512AN-MMW
1) Enable the following kernel config. Device Drivers→ Network device support→ Wireless LAN <M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) <M> Intel Wireless WiFi DVM Firmware support <M> Intel Wireless WiFi MVM Firmware support
2) bitbake
3) How to run
$ ifconfig wlP1p1s0 up [ 274.370095] iwlwifi 0001:01:00.0: Radio type=0x1-0x2-0x0<br> [ 274.503903] iwlwifi 0001:01:00.0: Radio type=0x1-0x2-0x0<br> [ 274.544834] IPv6: ADDRCONF(NETDEV_UP): wlP1p1s0: link is not ready<br> $ iwlist wlP1p1s0 scan wlP1p1s0 Scan completed : Cell 01 - Address: xx:xx:xx:xx:xx:xx: (snip)
Video Playback (H.264 decoding)
Ex1) Video playback
$ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! waylandsink
Ex2) Video playback with audio
$ gst-launch-1.0 filesrc location=filename.mp4 ! qtdemux name=demux demux.audio_0 ! queue ! omxaaclcdec ! alsasink demux.video_0 ! queue ! h264parse ! omxh264dec ! waylandsink
FAQ
Failed to DRAM initialize (-1).
If you face the following error please update(*) IPL and u-boot to the latest version.
NOTICE: BL2: R-Car Gen3 Initial Program Loader(CA57) Rev.1.0.12 NOTICE: BL2: PRR is R-Car M3 ES1.0 NOTICE: BL2: Boot device is HyperFlash(80MHz) NOTICE: BL2: LCM state is CM NOTICE: BL2: AVS setting succeeded. DVFS_SetVID=0x52 NOTICE: BL2: DDR3200(rev.0.20)[COLD_BOOT]..1 NOTICE: BL2: Failed to DRAM initialize (-1). ERROR: ERROR: BL2: System WDT overflow, occurred address is 0xe630d3cc
(*)How to update
- http://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor
- http://elinux.org/R-Car/Boards/M3SK#Flashing_firmware
- http://elinux.org/R-Car/Boards/H3SK#Flashing_firmware
How to get the SA001 Camera
Refer to R-Car/Boards/Kingfisher#How_to_get_the_SA001_Camera.
Known issues and limitations
- Refer to R-Car/Boards/Kingfisher#Known_Issues.
- Refer to R-Car/Boards/Yocto-Gen3/v3.21.0#Known_issues_and_limitations.
Q&A site
https://community.renesas.com/automotive/r-car-h3-m3-cockpit/
FAQ site
- https://en-support.renesas.com/knowledgeBase/category/31363 (English page)
- https://ja-support.renesas.com/knowledgeBase/category/31403 (Japanese page)