MCUT Training Documentation

website·Indexed 30 days ago

https://brandontech02.github.io/brandon/docs/intro

Technical training guides covering embedded systems and multimedia frameworks. Includes tutorials on GStreamer pipeline-based multimedia processing, Renesas board setup, Docker containerization, Yocto Project, Ubuntu 22.04 installation, and OpenSSH configuration.

Tokens
4.4K
Snippets
32
Records
42
Agent score
72%

What's inside MCUT Training

  1. Implement MOIL fisheye image processing on Renesas RZ/G2L

    The objective is to implement MOIL image processing technology on the Renesas RZ/G2L hardware platform to enable image streaming over a network and facilitate system development across different hardware environments. This involves integrating the existing MOIL Equirectangular GStreamer element into additional elements.
  2. Build the Renesas RZ Ubuntu 20.04 Docker image

    The Yocto 3.1 project requires an Ubuntu 20.04 environment. Use the provided Dockerfile to build an image that maps the host's UID, GID, and timezone to the container for compatibility.
    # Step 1: Download the Dockerfile
    wget https://raw.githubusercontent.com/renesas-rz/docker_setup/master/Dockerfile.rzg_ubuntu-20.04
    
    # Step 2: Build the image
    docker build --no-cache \
      --build-arg "host_uid=$(id -u)" \
      --build-arg "host_gid=$(id -g)" \
      --build-arg "USERNAME=$USER" \
      --build-arg "TZ_VALUE=$(cat /etc/timezone)" \
      --tag rz_ubuntu-20.04 \
      --file Dockerfile.rzg_ubuntu-20.04  .
    
    # Verify the image exists
    docker images
  3. Build and install the modified gst-plugins-bad-dev project

    Build the modified gst-plugins-bad-dev project (which includes the equirectangular filter) using the Meson build system and Ninja. After building, the resulting shared object file must be copied to the GStreamer plugin directory to be recognized.
    # Install Meson dependencies
    sudo apt-get install python3 python3-pip python3-setuptools python3-wheel ninja-build
    pip3 install --user meson
    
    # Build the project
    meson build
    ninja -C build
    
    # Install the library locally
    sudo cp ./build/gst/geometrictransform/libgstgeometrictransform.so /usr/lib/x86_64-linux-gnu/gstreamer-1.0
    
    # Verify the new element
    gst-inspect-1.0 equirectangular
  4. Flash the build image to an SD card

    Use lsblk to identify the USB device. If the device is mounted, unmount it first to ensure a clean installation. Use bmaptool to copy the generated image to the SD card device (e.g., /dev/sda).
    # Unmount if necessary
    sudo umount <device>
    
    # Flash image to SD card
    sudo bmaptool copy core-image-weston-smarc-rzg2l.wlc.gz /dev/sda
  5. Create interactive blog posts using MDX in Docusaurus

    Docusaurus blog posts support MDX, allowing the use of React components and JSX directly within markdown files to create interactive content.
    <button onClick={() => alert('button clicked!')}>Click me!</button>
  6. Clone and setup gst-plugins-bad for RCAR-GEN3e

    To set up the project for RCAR-GEN3e, clone the repository and checkout the specific version branch. If you intend to modify the project, it is recommended to fork the repository first.
    git clone https://github.com/yourskc/gst-plugins-bad.git
    git checkout RCAR-GEN3e/1.16.3
  7. Install and configure OpenSSH client for remote access

    To set up SSH access, install the OpenSSH client on the target machine and generate a public/private key pair for authentication. The generated public key should then be added to the user's GitHub account to enable secure access.
    # Install the SSH client
    sudo apt install openssh-client
    
    # Generate a private RSA key
    ssh-keygen -t rsa
  8. Limit blog post preview size in list view

    To limit the amount of content displayed for a blog post in the list view, insert the <!-- truncate --> HTML comment within the post content. Content appearing after this comment will be hidden in the list view and only visible on the full post page.
    This is the summary that will appear in the list view.
    
    <!-- truncate -->
    
    This content will only be visible when the full post is opened.
  9. Transform fisheye images using GStreamer remap filters

    To transform a fisheye image into a corrected single-angle or equirectangular image, a GStreamer filter must be used to reposition pixels based on X, Y mapping tables (remap maps). The transformation follows the mapping function g(x,y) = f(h(x,y)). Implementation can be achieved using the remap() function if the platform supports OpenCV, or via a GStreamer image filter element.
  10. Prepare a Docker container for Renesas RZ/G2L Yocto build

    To start the build environment, start and enter the designated Docker container. Once inside, install the required system dependencies for Yocto and additional build tools like CMake and Meson.
    # Start and enter the container
    docker start my_container_for_20.04
    docker exec -it my_container_for_20.04 /bin/bash
    
    # Install Yocto dependencies
    sudo apt-get update
    sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
    xz-utils debianutils iputils-ping libsdl1.2-dev xterm p7zip-full libyaml-dev \
    libssl-dev bmap-tools
    
    # Install CMake and Meson
    sudo apt update
    sudo apt install software-properties-common
    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    sudo apt update
    sudo apt install cmake meson ninja-build