Ts-4200 bootrom update

From Technologic Systems Manuals
Revision as of 16:35, 2 February 2017 by Kris (talk | contribs) (Cleaned up wording and made clarifications as well as more concise instructions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

It is possible to upgrade TS-4200 systems that are using XNAND1 to the new XNAND2 technology. While we do recommend doing so, it is not critical to existing applications.  This upgrade can be applied to products prior to deployment or after they have been deployed to the field.   The update process described below will preserve all of the data in the file system.  In order to use XNAND2, the platform must have its bootrom updated to support XNAND2, the NAND device formatted to XNAND2, and the final image on NAND and/or SD must have a nandctl binary that supports XNAND2. All of these are updated in the provided USB update disk image and process that is outlined below. Additionally, the system being updated must have reliable power for the upgrade process or else data integrity could be compromised or the unit itself may be rendered unbootable if power is lost during mid-process.

The instructions below presume that the device being upgraded is accessible and has an available USB Host port.  If this is not the case it is possible to convert the script used below to work from another available interface which provides remote access to the unit. It is not possible to perform the update directly from the TS-4200 SD card due to the SD card being disabled in order to write the bootrom to SPI flash. The USB media image provided contains all files and scripts necessary to develop your own custom update and deployment strategy. For more information please feel free to contact Technologic Systems Support, support@embeddedarm.com.


  • A Linux workstation, either in a virtual machine or native install
  • A TS-4200 on a baseboard with USB Host ports
    • Non-TS baseboards should have at least one USB Type-A Host port.
  • A serial terminal connected to the TS-4200 serial console output (optional, for diagnostic purposes if there is an error).
  • A USB data storage device (thumb drive or equivalent) of at least 32 MB capacity (note that this procedure will erase all data on the USB disk).


1. Download the TS-4200 XNAND2 USB Update disk image from the Technologic Systems FTP site:
wget ftp://ftp.embeddedarm.com/ts-socket-macrocontrollers/ts-4200-linux/binaries/ts-images/ts4200-XNAND2-upgrade-usb-20161003.dd.bz2
2. Extract the file on the Linux workstation using bunzip2:
bunzip2 ts4200-XNAND2-upgrade-usb-20161003.dd.bz2
3. Connect the USB media to the Linux workstation. If using a virtual machine, make sure the USB device is available to Linux before continuing.
4. If automatically mounted, unmount all USB media partitions. Note, in the example below '/dev/sdXy' should be replaced with the actual device node on your desktop computer - the X is the device letter, and y is the partition number.
sudo umount /dev/sdXy
5. Install the image on the USB media device using dd. Note that the image is being written to the whole disk rather than a partition. This process may take several minutes, and the data on the USB device will be erased:
dd if=ts4200-XNAND2-upgrade-usb-20161003.dd of=/dev/sdX bs=4M conv=fsync && sync && sleep 1
6. The updater USB device is now ready for use. Disconnect it from the workstation.


  1. Insert the USB update disk to the USB Host port of the TS-4200
  2. Apply power to the unit.
  3. Allow the USB update scripts to run. Note: This process will take a long time. Allow at least 20 minutes. During this time the green LED (if present on baseboard) will blink slowly through the process.
  4. When the script is finished executing, the baseboard's green LED (if present) will turn on and remain solid. If the process fails, the red LED will turn on and remain solid. More information about the failure will be on the TS-4200 serial console output.