Embedded module TQMa28 - 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.

To update bootloader / kernel in a running system you have to copy the images in your tftp directory and download them to the eMMC.

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=tqma28_hd.img of=/dev/sdf bs=1M conv=fsync #Assuming the SD card is assigned to /dev/sdf

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

This procedure overwrites the MBR and all partitions on the eMMC with images from the SD card.
The U-Boot environment is preserved.

See dip_switches for selecting the boot medium on the MBa28.

Install script usage

Current U-Boot versions provide a script that copies the MBR and partition contents from the SD card to the eMMC. This script is called via “run install_firmware” command at the U-Boot prompt. Due to memory limitations the root partition must be copied in a loop, each run copies the maximum memory amount available. To tell the script the size of your rootfs partition you have to use the rootblks16 variable.

This variable holds the hexadecimal number of 512-byte blocks your rootfs partition has in size.

setenv rootblks16 0x40000 

This sets a 128MB partition.

Please note: At this state there is no way to extract the image sizes from the SD card.
Without them calculation of required sectors to store the images is not possible.
Therefore using this update method will grab and overwrite whole uboot/dtb/kernel partitions respectively.

  1. Boot from eMMC
  2. Plug in card, power on device and stop autoboot
  3. To update U-Boot type:
    run upd_uboot_sd
  4. To update device tree type:
    run upd_fdt_sd
  5. To update Kernel type:
    run upd_kernel_sd
  1. Boot from eMMC and stop autoboot
  2. Connect device via ethernet to a tftp server supplying the image
  3. Provide the correct network configuration:
    setenv serverip
    setenv netmask
    setenv ipaddr
  4. Provide U-Boot the file name of the desired image on the server:
    For U-Boot: setenv uboot filename
    For device tree: setenv dtb filename
    For Kernel: setenv kernel filename
  5. Perform Update:
    For U-Boot: run upd_uboot_net
    For device tree: run upd_fdt_net
    For Kernel: run upd_kernel_net

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

Starting with REV0106 the TQ-ARM-BSP offers the creation of profiles for Freescale Manufacturing Tool.
Currently these profiles can be created for platforms TQMa28, TQMa28-fsl, TQMa28L, TQMa28L-AA.

This is enabled by default but can be switched using

$ ptxdist platformconfig

in the menu new image creation options –> [ ] Create profile for Freescale MFGTool

The profile is built during images stage and named TQ_ARM_BSP-Update-<platform>.zip in the images/ directory.

To use it simply extract the zip into the Profiles/ subdirectory in the MfgTool folder.
When starting MfgTool you will see the profile appear in the selection box:

In the Options - Configuration menu each profile has the option to flash

  • the Boot EEPROM and the complete e-MMC (eMMC+EEPROM) - only for TQMa28 modules REV0200
  • the Boot EEPROM only (EEPROM only) - only for TQMa28 modules REV0200
  • the complete firmware (eMMC only) (default)
  • the device tree only (DTB only)
  • the kernel only (Kernel only)
  • and for debugging purposes load the U-Boot into RAM (U-Boot→RAM)
  1. To download you need the target hardware to be connected via USB0 to the PC running MfgTool.
  2. The boot mode must be set to USB recovery mode.
  3. Power up.
  4. The MfgTool should show a HID-compliant device.
    Otherwise the target is either not connected or not in USB recovery mode.
  5. Hit 'Start' and wait until Finished.

If you want to change the partitioning of emmc in mfgprofile, you have to edit file /TQ_ARM_BSP-Update-tqma28/Linux/fdisk-u.input. The value of partition offset and size are given in a 512 byte block size value


To boot the TQMa28 from network you need a working bootloader in eMMC/SD-card 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
  • setenv ipaddr <ipaddr> (e.g.: setenv ipaddr
  • setenv netmask <netmask> (e.g.: setenv netmask
  • setenv rootpath <rootpath> (NFS share has to set in /etc/exports on the Computer that runs the NFS server first)
  • setenv dtb <dtb> (name of devicetree file to be downloaded from the tftp server)
  • setenv kernel <kernel> (name of the Linux kernel image to be downloaded from the tftp server)

run boot_nfs from u-boot promt to boot the starterkit via TFTP and NFS