Embedded module TQMa6x - PTXdist Linux BSP documentation


The following instructions have been tested with Ubuntu 20.04 (64 bit) in a VMWare virtual machine.

This page refers to the BSP and ancillary tools listed in the following table:

BSP Revision 0120
PTXdist 2020.01.0
OSELAS Toolchain 2019.09.1
Platform mba6x
U-Boot 2017.11
Linux Kernel 5.15.27

Show details for previous revisions of the BSP

With BSP Revision 0109 the Linux kernel version changed from 3.16.7 to 4.1 The devicetree source & blob files for kernel 3.16.7 are not compatible to kernel 4.1 and vice versa.

BSP Rev. ≤ 0105

Naming convention

Device Tree Blobs
Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:
imx6<q|dl>-mba6x-<hdmi|lvds|multi|pd>.dtb
When building an sd card image, the HDMI enabled device tree blob is used by default.

Module (CPU) type
imx6q TQMa6Q | TQMa6D
imx6dl TQMa6DL | TQMa6S
Module revision
mba6x TQMa6x Rev.02xx Variant B | TQMa6x Rev.01xx
Display interface
hdmi HDMI only
lvds LVDS only
pd parallel display only
multi HDMI + LVDS + parallel display


Dependency matrix
File Module Starterkit
Mainboard
i.MX6Q i.MX6D i.MX6DL i.MX6S Revision 010x Revision 020x Ethernet Patch
imx6qdl-tqma6x.dtsi
imx6q-tqma6x.dtsi
imx6dl-tqma6x.dtsi
imx6qdl-mba6x.dtsi included
imx6q-mba6x.dts included
imx6dl-mba6x.dts included


Dependency graph

<div style="text-align:center;background-color:#E66A08;width:250px;height: 30px;">
<span style=";color:white;font-size:150%;">CPU specific files</span>
</div>
 
<div style=";margin-top:2px;text-align: center;background-color:#1D8EC6;width:250px;height: 30px;">
<span style="color:white;font-size:150%;">Module specific files</span>
</div>
 
<div style="margin-top:2px;text-align: center;background-color:#8F8F8F;width:250px;height: 30px;
">
<span style="color:white;font-size:150%;">Baseboard specific files</span></div>


BSP Rev. ≥ 0109

Naming convention

Device Tree Blobs
Several device tree blobs (.dtb files) are built by default, the resulting files are named as follows:
imx6<q|dl>-mba6<a|b>-<hdmi|lvds|multi|pd>.dtb
When building an sd card image, the HDMI enabled device tree blob is used by default.

Flat Image Tree (FIT)
Additionaly a FIT image (*.itb) is generated, which contains all device trees in a single file.

To select an individual DTB from this FIT you have to set the U-Boot variables fdt_type and fitfdt_part accordingly.

Module (CPU) type
imx6q TQMa6Q | TQMa6D
imx6dl TQMa6DL | TQMa6S
Module revision & variant
mba6a TQMa6x Rev.02xx Variant A & C
mba6b TQMa6x Rev.02xx Variant B | TQMa6x Rev.01xx
Display interface
hdmi HDMI only
lvds LVDS only
pd parallel display only
multi HDMI + LVDS + parallel display


Dependency matrix
File Module Starterkit
Mainboard
i.MX6Q i.MX6D i.MX6DL i.MX6S Revision 010x Revision 020x Ethernet Patch
imx6qdl-tqma6.dtsi
imx6qdl-tqma6a.dtsi
imx6qdl-tqma6b.dtsi
imx6q-tqma6.dtsi
imx6q-tqma6a.dtsi
imx6q-tqma6b.dtsi
imx6dl-tqma6.dtsi
imx6dl-tqma6a.dtsi
imx6dl-tqma6b.dtsi
imx6qdl-mba6.dtsi included
imx6qdl-mba6a.dtsi included
imx6qdl-mba6b.dtsi included
imx6q-mba6.dtsi included
imx6q-mba6a.dts included
imx6q-mba6b.dts included
imx6dl-mba6.dtsi included
imx6dl-mba6a.dts included
imx6dl-mba6b.dts included


Dependency graph


<div style="text-align:center;background-color:#E66A08;width:250px;height: 30px;">
<span style=";color:white;font-size:150%;">CPU specific files</span>
</div>
 
<div style=";margin-top:2px;text-align: center;background-color:#1D8EC6;width:250px;height: 30px;">
<span style="color:white;font-size:150%;">Module specific files</span>
</div>
 
<div style="margin-top:2px;text-align: center;background-color:#8F8F8F;width:250px;height: 30px;
">
<span style="color:white;font-size:150%;">Baseboard specific files</span></div>

PTXdist version 2019.09.0 is required to build the OSELAS.Toolchain-2019.09.1. This version may differ from the PTXdist version required to build the BSP itself. Ubuntu 20.04 is required for the toolchain.

The BSP is available as a project ready to use with the PTXdist1) build system. As PTXdist runs on linux, first of all you need a development workstation (or a virtual machine) with a (preferably) recent Linux distribution installed. The distribution of your choice, however, may not have installed all required packages by default. Commonly missing packages (package names taken from Debian based systems) include:

  • autoconf
  • bc
  • bison
  • build-essential
  • dialog
  • flex
  • g++
  • gawk
  • gettext
  • git
  • libncurses5-dev
  • libxml-parser-perl
  • python-dev
  • quilt
  • texinfo
  • zip
  • socat
  • pkg-config

Although not required by PTXdist, we also recommend to configure and run a tftp server (for image download / update) and an nfs server (for network mounted rootfs) on your development host.

It is recommended to first install PTXdist 2019.09 in order to build the toolchain (see note above).
Once the toolchain is compiled, install PTXdist 2020.01.0 is required to build the BSP.
You can always use a specific version of PTXdist by explicitly calling ptxdist-<version>.
Example:
$ ptxdist-2020.01.0

Please note:
The link /usr/local/bin/ptxdist always calls the PTXdists version installed most recently.

Starting with PTXdist 2014.07, ptxdist calls a script which tries to automatically determine and call
the required version by parsing the config files in the project directory.

Make sure the development host meets the prerequisites and download the required PTXdist tarball(s) (see Downloads page for URLs).

Extract the tarball ptxdist-2019.09.1.tar.bz2 and install as follows:

$ tar xvf ptxdist-2019.09.1.tar.bz2
$ cd ptxdist-2019.09.1
$ ./configure
$ make
$ sudo make install

This will install PTXdist to /usr/local/lib by default.

PTXdist configuration

After installing PTXdist it can be configured by:

$ ptxdist setup 
 .config - PTXdist 2020.01.0
 ──────────────────────────────────────────────────────────────────────────────
  ┌─────────────────────────── PTXdist 2020.01.0 ───────────────────────────┐
  │  Arrow keys navigate the menu.  <Enter> selects submenus --->.          │  
  │  Highlighted letters are hotkeys.  Pressing <Y> includes, <N> excludes, │  
  │  <M> modularizes features.  Press <Esc><Esc> to exit, <?> for Help, </> │  
  │  for Search.  Legend: [*] built-in  [ ] excluded  <M> module  < >       │  
  │ ┌─────────────────────────────────────────────────────────────────────┐ │  
  │ │    --- PTXDIST Setup Menu                                           │ │  
  │ │        User                --->                                     │ │  
  │ │        Proxies             --->                                     │ │  
  │ │        Project Searchpath  --->                                     │ │  
  │ │        Source Directories  --->                                     │ │  
  │ │        Source Download     --->                                     │ │  
  │ │        IPKG Repository     --->                                     │ │  
  │ │        Java SDK            --->                                     │ │  
  │ │        Developer Options   --->                                     │ │  
  │ │                                                                     │ │  
  │ └─────────────────────────────────────────────────────────────────────┘ │  
  ├─────────────────────────────────────────────────────────────────────────┤  
  │        <Select>    < Exit >    < Help >    < Save >    < Load >         │  
  └─────────────────────────────────────────────────────────────────────────┘  

To personalise your PTXdist installation, please fill out:

  • User (username and mail address)

Depending on your environment, the most important settings are:

  • Proxies (ftp / http / hhtps proxies)
  • Source Directories (path for archive of downloaded source packages (aka local package pool))

For further details on setup options, please see the PTXdist manual.

See download page for links to toolchain download. If using precompiled toolchain install to /opt. Otherwise carefully follow the documentation for building toolchains found here or in the download section.
By default the toolchain will get installed to /opt/OSELAS.Toolchain-<version>.

Follow chapter “Building a toolchain” in the PTXdist manual and keep in mind:

  • When you are asked to run the command
    $ ptxdist select ptxconfigs/...

    select this ptxconfig: ptxconfigs/arm-v7a-linux-gnueabihf_gcc-<version>_glibc-<version>_binutils-<version>_kernel-<version>-sanitized.ptxconfig (for TQMa6x)

  • To build the toolchain project you should install the corresponding PTXdist version for the Toolchain (as told in the documentation).

Extract the tarball ptxdist-2020.01.0.tar.bz2 and install as follows:

$ tar xvf ptxdist-2020.01.0.tar.bz2
$ cd ptxdist-2020.01.0
$ ./configure
$ make
$ sudo make install

Afterwards you can configure PTXdist

See the README file in the BSP archive for a detailed description of the zip contents

Extract the package TQ-TQMa6x-BSP.REV0120.zip to any directory (e.g. /opt or /home):

$ cd ~/home/workspace
$ tar -xvf TQMa6x.BSP.SW.SRC.0120.tar.gz
$ cd TQMa6x.BSP.SW.SRC.0120

  • Last modified: 2022/12/28 11:09