Action disabled: register

Embedded module TQMa6x - PTXdist Linux BSP documentation


we suggest to read the following pages before you proceed with this page

Finally, you will find the built images in platform-<platformname>/images.

All images are intended for the usage on a STKa6x.

platform-tq-mba6x

The complete system images are intended for:

  • development system initialisation
  • deployment

SD Card/eMMC

uboot_tqma6s_hd.img TQMa6S
uboot_tqma6dl_hd.img TQMa6U
uboot_tqma6q_hd.img TQMa6Q and TQMa6D
uboot_tqma6qp_hd.img TQMa6QP and TQMa6DP

SD Card/eMMC

u-boot-mba6s-mmc.imx TQMa6S
u-boot-mba6dl-mmc.imx TQMa6U
u-boot-mba6q-mmc.imx TQMa6D and TQMa6Q
u-boot-mba6qp-mmc.imx TQMa6DP and TQMa6QP

SPI NOR Flash

u-boot-mba6s-spi.imx TQMa6S
u-boot-mba6dl-spi.imx TQMa6U
u-boot-mba6q-spi.imx TQMa6Q and TQMa6D
u-boot-mba6qp-spi.imx TQMa6DP and TQMa6QP
linuximage Kernel (zImage)
linuximage-rt Kernel (zImage) with realtime patches

TQMa6DP and TQMa6QP on MBa6x

imx6qp-mba6b.dtb without display configuration
imx6qp-mba6b-dmb-ct21.dtb parallel/LCD display DMB S070WS12H-O-CT21/S070PWS19HP-FC21
imx6qp-mba6b-dmb-ct44.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6qp-mba6b-glyn-etm0700g0dh6.dtb.dtb parallel/LCD display GLYN ETM0700G0DH6
imx6qp-mba6b-glyn-etm0700g0edh6.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6qp-mba6b-multi.dtb LVDS + HDMI display
imx6qp-mba6b-lvds.dtb LVDS display CHI MEI G104X1
imx6qp-mba6b-lvds-tm070jvhg33.dtb LVDS display Tianma TM070JVHG33
imx6qp-mba6b-hdmi.dtb HDMI interface activated
imx6qp-mba6b-otg.dtb USB OTG support

TQMa6D and TQMa6Q on MBa6x

imx6q-mba6a.dtb without display configuration
imx6q-mba6a-dmb-ct21.dtb parallel/LCD display DMB S070WS12H-O-CT21/S070PWS19HP-FC21
imx6q-mba6a-dmb-ct44.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6q-mba6a-glyn-etm0700g0dh6.dtb parallel/LCD display GLYN ETM0700G0DH6
imx6q-mba6a-glyn-etm0700g0edh6.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6q-mba6a-multi.dtb LVDS + HDMI display
imx6q-mba6a-lvds.dtb LVDS display CHI MEI G104X1
imx6q-mba6a-lvds-tm070jvhg33.dtb LVDS display Tianma TM070JVHG33
imx6q-mba6a-hdmi.dtb HDMI interface activated
imx6q-mba6a-otg.dtb USB OTG support
imx6q-mba6b.dtb without display configuration
imx6q-mba6b-dmb-ct21.dtb parallel/LCD display DMB S070WS12H-O-CT21/S070PWS19HP-FC21
imx6q-mba6b-dmb-ct44.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6q-mba6b-glyn-etm0700g0dh6.dtb parallel/LCD display GLYN ETM0700G0DH6
imx6q-mba6b-glyn-etm0700g0edh6.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6q-mba6b-multi.dtb LVDS + HDMI display
imx6q-mba6b-lvds.dtb LVDS display CHI MEI G104X1
imx6q-mba6b-lvds-tm070jvhg33.dtb
imx6q-mba6b-hdmi.dtb HDMI interface activated
imx6dl-mba6a-otg.dtb USB OTG support

TQMa6S and TQMa6U on MBa6x

imx6dl-mba6a.dtb without display configuration
imx6dl-mba6a-dmb-ct21.dtb parallel/LCD display DMB S070WS12H-O-CT21/S070PWS19HP-FC21
imx6dl-mba6a-dmb-ct44.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6dl-mba6a-glyn-etm0700g0dh6.dtb parallel/LCD display GLYN ETM0700G0DH6
imx6dl-mba6a-glyn-etm0700g0edh6.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6dl-mba6a-multi.dtb LVDS + HDMI display
imx6dl-mba6a-lvds.dtb LVDS display CHI MEI G104X1
imx6dl-mba6a-lvds-tm070jvhg33.dtb
imx6dl-mba6a-hdmi.dtb HDMI interface activated
imx6dl-mba6a-otg.dtb USB OTG support
imx6dl-mba6b.dtb without display configuration
imx6dl-mba6b-dmb-ct21.dtb parallel/LCD display DMB S070WS12H-O-CT21/S070PWS19HP-FC21
imx6dl-mba6b-dmb-ct44.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6dl-mba6b-glyn-etm0700g0dh6.dtb parallel/LCD display DMB S070WV106H-CT44/S070SWV29HG-DC44
imx6dl-mba6b-glyn-etm0700g0edh6.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6dl-mba6b-multi.dtb LVDS + HDMI display
imx6dl-mba6b-lvds.dtb LVDS display CHI MEI G104X1
imx6dl-mba6b-lvds-tm070jvhg33.dtb
imx6dl-mba6b-hdmi.dtb HDMI interface activated
imx6dl-mba6a-otg.dtb USB OTG support
root.tgz Root file system archive (for NFS etc.)
root.ext2 Root file system partition image (for system update)
firmware.tgz firmware image contains all devicetree blobs and linux kernel image
firmware.img firmware image archive (for firmware image creation)

platform-tq-mba6x-fsl

The complete system images are intended for:

  • development system initialisation
  • deployment

SD Card/eMMC

uboot_tqma6s_hd.img TQMa6S
uboot_tqma6dl_hd.img TQMa6U
uboot_tqma6q_hd.img TQMa6Q and TQMa6D
uboot_tqma6qp_hd.img TQMa6QP and TQMa6DP

SD Card/eMMC

u-boot-fsl-mba6s-mmc.imx TQMa6S
u-boot-fsl-mba6sdl-mmc.imx TQMa6U
u-boot-fsl-mba6q-mmc.imx TQMa6Q and TQMa6D
u-boot-fsl-mba6qp-mmc.imx TQMa6QP and TQMa6DP

SPI NOR Flash

u-boot-fsl-mba6s-spi.imx TQMa6S
u-boot-fsl-mba6dl-spi.imx TQMa6U
u-boot-fsl-mba6q-spi.imx TQMa6Q and TQMa6D

Linux kernel images:

linuximage Kernel (zImage)

TQMa6D and TQMa6Q on MBa6x

imx6q-mba6a.dtb without display configuration
imx6q-mba6a-pd.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6q-mba6a-multi.dtb LVDS + HDMI display
imx6q-mba6a-lvds.dtb LVDS display CHI MEI G104X1
imx6q-mba6a-hdmi.dtb HDMI interface activated
imx6q-mba6b.dtb without display configuration
imx6q-mba6b-pd.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6q-mba6b-multi.dtb LVDS + HDMI display
imx6q-mba6b-lvds.dtb LVDS display CHI MEI G104X1
imx6q-mba6b-hdmi.dtb HDMI interface activated

TQMa6S and TQMa6U on MBa6x

imx6dl-mba6a.dtb without display configuration
imx6dl-mba6a-pd.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6dl-mba6a-multi.dtb LVDS + HDMI display
imx6dl-mba6a-lvds.dtb LVDS display CHI MEI G104X1
imx6dl-mba6a-hdmi.dtb HDMI interface activated
imx6dl-mba6b.dtb without display configuration
imx6dl-mba6b-pd.dtb parallel/LCD display GLYN ETM0700G0EDH6
imx6dl-mba6b-multi.dtb LVDS + HDMI display
imx6dl-mba6b-lvds.dtb LVDS display CHI MEI G104X1
imx6dl-mba6b-hdmi.dtb HDMI interface activated

Rootfs images:

root.tgz Root file system archive (for NFS etc.)
root.ext2 Root file system partition image (for system update)

Firmware images:

firmware.tgz firmware image contains all devicetree blobs and linux kernel image
firmware.img firmware image archive (for firmware image creation)

To install a new firmware use SD cards. To copy the built images on the host system to a connected card type:

$ cd <BSP project>/platform-<platform_name>/images
$ sudo dd if=u-boot_<mod_name>_hd.img of=/dev/sdf bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdf

You have to use the raw device of the SD card not a partition!

To find out what device file the SD card has, type “dmesg” after you connect the card to see the system messages. At the bottom you'll see some “Attached scsi …” messages along with something like:

[ 8197.588395]  sdf: sdf1


To update bootloader / kernel / devicetree in a running system you have to copy the images in your tftp directory and upload them to the eMMC or SD Card.

Please see How to setup TFTP Server

1. Boot from eMMC or SD and stop autoboot in U-Boot

Hit any key to stop autoboot:  0
=>


2. Set U-Boot variable mmcdev according to the drive you want to write to

=> setenv mmcdev <Nr.>

Device assignment:
mmcdev 0 = eMMC
mmcdev 1 = SD Card

3. Connect device via ethernet to a tftp server supplying the image
4. Provide the correct network configuration in U-Boot:

  • ⇒ setenv autoload no
  • ⇒ setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.110)
  • ⇒ setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.100.111)
  • ⇒ setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)


5. Provide U-Boot the file name of the desired image on the tftp server:

  • For U-Boot update: ⇒ setenv uboot <filename>
  • For Device Tree update: ⇒ setenv fdt_file <filename>
  • For Kernel update: ⇒ setenv zimage <filename>


6. Perform Update:

  • U-Boot update: ⇒ run update_uboot
  • Device Tree update: ⇒ run update_fdt
  • Kernel update: ⇒ run update_kernel

The u-boot update scripts automatically implement the selection of the primary copy to boot.



  • Write Image to SD card (use dd command under linux or Win32diskImager under Windows)
  • Set Starterkit to boot from SD, please see DIP Switch Settings
  • Interrupt the boot process to get to the U-Boot prompt
  • Use the following command to copy the SD card to eMMMC

Generic command

 
mmc dev 1 && mmc rescan && mmc read ${loadaddr} 0 (number of blocks)  && mmc dev 0 && mmc rescan && mmc write ${loadaddr} 0 (number of blocks)

You have to set the number of blocks according to the image size to read entire data that is stored on the SD card and write the same number of blocks to the eMMC.
Formula to calulate the number of blocks
Size of SD card image in bytes / 512. Convert the result to a hex value.
Since the data is stored in the SDRAM on the module the size of the image must not exeed the size of the SDRAM.

Example for precompiled SD card image included in BSP Rev.0109


The rootfs is located in the second partition of the SD card/eMMC please see Partition Scheme

example for TQMa6Q

dd if=/dev/mmcblk0p2 of=/dev/mmcblk1p2 bs=1M

please keep in mind to resize the eMMC rootfs partition,
if the rootfs size was changed in BSP configuration

Prerequisites

To boot the TQMa6x from network you need a working bootloader in eMMC/SD-card or SPI-NOR (placement option on TQMa6x) which is able to get the kernel image over tftp and to provide the kernel with commandline settings for NFS.
The dtb-file and kernel image have to be provided via tftp and the rootfs via nfs.

Configuration of U-Boot Environment

The bootloader environment needs to be modified to work with your tftp-server and your nfs-server.

  • setenv autoload no
  • setenv serverip <serverip> (e.g.: setenv serverip 192.168.100.1)
  • setenv ipaddr <ipaddr> (e.g.: setenv ipaddr 192.168.0.10)
  • setenv netmask <netmask> (e.g.: setenv netmask 255.255.255.0)
  • setenv rootpath <rootpath> (NFS share has to set in /etc/exports on the Computer that runs the NFS server first)
  • setenv fdt_file <fdt_file> (name of devicetree file to be downloaded from the tftp server)
  • setenv zimage <zimage> (name of the Linux kernel image to be downloaded from the tftp server)


You have to set the Starterkit to boot-mode “serial downloader”, please see MBa6x DIP switch settings

We recommend to use Ubuntu 14.04 64bit for the imx-usb tool

Starting with TQMa6x-BSP-REV.0109 we deliver a Linux tool to upload U-Boot into the TQMa6X RAM from your development host and start it. After building the BSP the tool is located under
…/TQMa6x-BSP-REV.0109/platform-MBa6x/packages/h-imx_usb_loader-master

You have to apply the following steps before you can start to work with the tool:

  • Copy the content of folder …/TQMa6x-BSP-REV.0109/platform-MBa6x/packages/host-imx_usb_loader-master/usr/etc/ to /etc
  • Copy the content of folder …/TQMa6x-BSP-REV.0109/platform-MBa6x/packages/host-imx_usb_loader-master/usr/bin/ to /bin
  1. Set Starterkit to boot-mode “serial downloader”, please see MBa6x DIP switch settings
  2. Connect Starterkit connector X8 (Micro USB cable provided with the Starterkit) to your host
  3. Connect Starterkit connector X15 (RS232) to your host
  4. Power up Starterkit
  5. Please check that Linux recognized a new USB device, see output of command dmesg | grep -i usb. You should see something like the following :
    usb 1-1: Manufacturer: Freescale SemiConductor Inc 
    hid-generic 0003:15A2:0054.0002: hiddev0,hidraw1: USB HID v1.10 Device [Freescale SemiConductor Inc  SE Blank ARIK] on usb-0000:02:03.0-1/input0
  6. Open a serial terminal on your host e.g. TeraTerm
  7. Open a Linux terminal and naviagate to folder “images” in the BSP dirctory
    e.g. /home/embedded/TQMa6x-BSP-REV.0109/platform-MBa6x/images
  8. Start the serial downloader imx_usb as super user with the desired U-Boot as parameter

    Keep in mind to select a U-Boot that is corresponding to your module, please see deployment

    e.g.

    embedded@ubuntu:~/workspace/TQMa6x-BSP-REV.0109/platform-MBa6x/images$ sudo imx_usb u-boot-TQMa6Q_MBa6x.imx

    host console output after starting the serial downloader

    config file </etc/imx-loader.d/imx_usb.conf>
    vid=0x066f pid=0x3780 file_name=mx23_usb_work.conf
    vid=0x15a2 pid=0x004f file_name=mx28_usb_work.conf
    vid=0x15a2 pid=0x0052 file_name=mx50_usb_work.conf
    vid=0x15a2 pid=0x0054 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0061 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0063 file_name=mx6_usb_work.conf
    vid=0x15a2 pid=0x0041 file_name=mx51_usb_work.conf
    vid=0x15a2 pid=0x004e file_name=mx53_usb_work.conf
    vid=0x15a2 pid=0x006a file_name=vybrid_usb_work.conf
    vid=0x066f pid=0x37ff file_name=linux_gadget.conf
    config file </etc/imx-loader.d/mx6_usb_work.conf>
    parse /etc/imx-loader.d/mx6_usb_work.conf
    15a2:0054(mx6_qsb) bConfigurationValue =1
    Interface 0 claimed
    HAB security state: development mode (0x56787856)
    == work item
    filename u-boot-TQMa6Q_MBa6x.imx
    load_size 0 bytes
    load_addr 0x00000000
    dcd 1
    clear_dcd 0
    plug 1
    jump_mode 2
    jump_addr 0x00000000
    == end work item
    main dcd length 308
    sub dcd length 304
    
    loading binary file(u-boot-TQMa6Q_MBa6x.imx) to 4fbff400, skip=0, fsize=5cc00 type=aa
    
    <<<379904, 379904 bytes>>>
    succeeded (status 0x88888888)
    jumping to 0x4fbff400
  9. Now you can see the U-Boot messages in the serial terminal programm

Next steps are:

  • Last modified: 2022/08/04 15:02