The TS-7350/TS-7370/TS-7390 is a compact full-featured Single Board Computer (SBC) based upon the Cirrus EP9302 200MHz ARM9 CPU, which provides a standard set of on-board peripherals. It features a programmable FPGA which is connected to a dedicated framebuffer for video support and provides additional on-board peripherals. With a simple custom peripheral board and a custom FPGA load, your LCD touchscreen of choice can be integrated with these computers. See below pictures of the TS-7350 and TS-7370 computers.
The LCD-Ready FPGA Linux Embedded Computers were designed to provide flexibility through a general expansion bus/connector connected straight to the programmable on-board FPGA. Therefore, custom FPGA loads can be provided in order to meet the customer application requirements. In particular, these computers are aimed at the design of TFT-LCD integrated products, such as the TS-7390 SBC and the TS-TPC-7390 application kit. Contact us for further information on how to use our products to successfully bring your Touch Panel (TFT-LCD + TouchScreen) application to the market or for custom FPGA design. See below pictures of the TS-7390 and TS-TPC-7390 computers.
The LCD-Ready computers run Linux 2.6 and the Debian Etch distribution out-of-the-box. The software solution includes complete driver support for the on-board hardware and the Xorg package for GUI support. These computers boot Linux to a shell prompt in under two seconds. The TS-7390 loads the Xorg environment in about 12 seconds and a desktop-like environment with window manager and web-browser is ready to be used in about 17 seconds.
NOTE: Further documentation and updated downloads for the LCD-Ready computers will be made available through our website. Please make sure to visit Technologic Systems periodically at http://www.embeddedarm.com.
Console and Power Up
COM1 is typically used as a console port to interface the LCD-Ready computers to a standard terminal emulation program on a Host PC. An ANSI terminal or a PC running a terminal emulator is required to communicate with your Embedded PC. Simply connect an ANSI terminal (or emulator) to COM1 (available through the TS-9445 board and the 10-pin header to DB9 adapter) using a null modem cable (this is included in the TS-ARM Development Kit), using serial parameters of 115200 baud, 8 data bits, no parity, no flow control, 1 stop bit (8N1). If you are running Linux, the minicom program works well, Windows users can run the Hyperterm application. Also, the 2GB development SD Card contains a version of the Eclipse IDE with a serial Terminal plugin already configured to work with the LCD-Ready computers. Technologic Systems offers a null modem cable with both 25 pin and 9 pin connectors at each end as part number CB7-05 and a10-pin header to 9-pin Sub-D adapter which is P/N RC-DB9.
NOTE: There is no DB9 connector for console on the LCD-Ready computers. The UART #0 (COM1) console is available at the JTAG header using TTL level. The mini-peripheral TS-9445 console board with DB9 adapter is required to use the RS-232 console. If a TS-9445 board is not available, connect to the board via telnet using IP 192.168.0.50. Make sure no other computer is using this IP on your local network.
Plug the TS-9445 on the LCD-Ready SBC using the JTAG header according to the orientation shown below (TS-7400+TS-9441 boards ). Pin 1 on the TS-9445 must match pin 1 on the SBC JTAG header. Then, connect the 10-pin header to DB9 adapter to the TS-9445 in order to have a DB9 console output for COM1.
If your board is not equipped with on-board NAND flash, make sure there is a bootable SD Card present on the SD socket and connect a regulated 5VDC, (1A minimum) power source using the included 2 screw terminal strip/connector. The LCD-Ready computers accept 5-28VDC power input. We recommend the use of 18VDC power supply. Please note the polarity printed on the board. The board will load Linux and initial ram disk from the storage device and the boot messages, by default, are all displayed on COM1 (JTAG header) at 115200 baud, N81.
On a TS-7390 with a TFT-LCD display with touchscreen, no console or network connection is required in order to interact to the computer. After power up, the board boots either from an SD Card or on-board flash (according to the state of JP1) and loads Xorg with a desktop-like environment in about 17 seconds. A virtual keyboard application is installed to enable full interaction with the desktop using the touchscreen interface only; and USB keyboard and mouse can also be hot-plugged to improve usability.
The script that controls video software initialization is “/lbin/ts7390-init”. Customers can modify this script should a different behavior is required. The very first thing this script does, within 2 seconds after power up, is showing the Technologic Systems logo and playing an initialization sound.
The LCD-Ready computers have a default SD Card socket and boot Linux from a programmed SD Card as shipped by Technologic Systems. Bootable on-board NAND flash is available on the TS-7390 model only and the jumper 1 (JP1) is used to control whether the board boots from an SD Card (JP1 ON) or from on-board flash (JP1 OFF).
After power up, the board will boot within 2 seconds to a Linux prompt on UART #0 (COM1 at /dev/ttyS0). The serial port will be set to 115200 baud, 8N1, with no flow control by default. The board will also answer telnet connections to IP address 192.168.0.50 on the first ethernet port (closest to the Cirrus Logic CPU chip).
The default fastboot shell makes available several standard Linux commands accommodated by the "busybox" program. Technologic Systems has made several modifications to the busybox source code to keep bootup as fast and simple as possible. The modified source code is available to Technologic Systems customers at ftp://ftp.embeddedARM.com.
Upon bootup, you should see the messages below out of your serial port :
- built Aug 11 2008
>> Copyright (c) 2008, Technologic Systems
Finished booting in 1.20 seconds
Type 'tshelp' for help
At this point, if you type 'exit' from the serial shell, the board will then attempt a full Debian Linux bootup from the SD card on partition #4 (/dev/tssdcarda4). If the SD card is not present, or the JFS filesystem does not pass a basic sanity test, or the special file "/notrootfs" exists, a complete Debian Linux distribution contained on the on-board flash itself is instead booted (partition #3 /dev/mtdblock3 on the TS-7390 SBC).
Should you wish to automatically bypass the fastboot and proceed directly into starting the SD card version of Linux, you can do so with the following command issued to the fastboot shell:
$ rm linuxrc; ln -sf /linuxrc-sdroot /linuxrc; save
For the on-board flash, the command is:
$ rm linuxrc; ln -sf /linuxrc-mtdroot /linuxrc; save
For a NFS root filesystem, the command is:
$ rm linuxrc; ln -sf /linuxrc-nfsroot /linuxrc; save
To get back to the fastboot shell, you can do so by placing the file "/fastboot" in the root directory of the filesystem.
The '/linuxrc' file is a shell script that is the very first thing run by the kernel on startup. Several sample startup scripts are included and can either be used directly ("ln -sf /linuxrc-XXX /linuxrc" command) or modified to include custom bootup logic. These shell scripts were designed to be as fast and simple as possible (approximately 70 lines of code) for easy customer modifications. It is anticipated that this shell script be modified from the default to implement things in the customer's product such as backup configurations, software field updates, conditional booting/verification of SD cards, etc. Technologic Systems professional services is available should you need help in implementing a specific feature.
Although it is easy to get your board into an unbootable state during development if you botch a modification, it is equally easy to use an bootable SD Card to recover the default startup. See the partition map below in order to create valid SD card devices and on-board flash.
SD Card partitions programmed from the factory:
- /dev/tssdcarda: the whole device with MBR bootup code
- /dev/tssdcarda1: 1.5GB vfat partition with Eclipse IDE or 4MB empty
- /dev/tssdcarda2: 4MB for the uncompressed Linux Kernel Image
- /dev/tssdcarda3: 4MB for the uncompressed initial ramdisk with busybox filesystem
- /dev/tssdcarda4: complete Debian Linux filesystem – JFS type
TS-7390 on-board NAND Flash partitions programmed from the factory:
- /dev/mtdblock0: the whole device with MBR bootup code
- /dev/mtdblock1: 4MB for the uncompressed Linux Kernel Image
- /dev/mtdblock2: 4MB for the uncompressed initial ramdisk with busybox filesystem
- /dev/mtdblock3: complete Debian Linux filesystem – YAFFS2 type
In order to reprogram the whole TS-7390 NAND flash, one can make use of the 'createmtdroot' command available in the busybox filesystem. This command will copy the kernel and the initial ramdisk from the full-size SD Card (/dev/tssdcarda) to the NAND flash. Also, it will create a new YAFFS2 filesystem and fill it with the contents from mnt/root (usually, /dev/tssdcarda4 is mounted to /mnt/root with a Debian filesystem). Make sure to use this command carefully as it will erase the whole NAND flash device. In order to copy only the kernel and initial ramdisk, make use of the 'createmtdboot' command.
Debian is installed by default on the storage memory device (SD Card, for example) provided by Technologic Systems. Debian is a full-featured and powerful Linux distribution mostly based upon GNU tools. It includes everything necessary to easily run Linux and develop Linux applications. In addition, various original Linux utilities and installation tools are available to make system utilization and packages updating easy. The Debian Linux is ported to ARM processors and runs with our ARM SBCs. With Debian Linux, experienced Linux users have a complete Linux system to take full advantage of their knowledge, and new users have an easy environment to get started with the Linux world.
Technologic Systems makes use of Debian Linux as a development distribution. Along with the basic core utilities, some developer tools have been installed, including a native arm gcc toolchain, for C/C++ application development. In addition, the Perl interpreter and a wide variety of network services are available, such as FTP, Telnet, SSH and Apache HTTP servers. One can also use the Debian Linux distribution via an NFS root file system or an USB flash memory device.
When using Debian, adding new packages and removing undesired ones is done all through Debian's package management. “apt“, “dpkg“, all behave as expected. With Debian, one can easily install and remove software packages. “apt-get install” installs a package name, while “apt-get remove” removes the named package. Visit the Debian home-page for further information, since a full in-depth discussion on Debian is outside the scope of this document.
The LCD-Ready computers use the Etch version of Debian installed with full Xorg-Xserver support for GUI (Graphical User Interface) and Window management systems.
DEVELOPMENT WITH ECLIPSE: 2GB DEVELOPMENT SD CARD
The Eclipse IDE configured for embedded development with TS-7000 computers is provided along with the 2GB SD Card. Technologic Systems makes use of the Eclipse Europa release and the DSDP+CDT plugins in order to provide an advanced IDE. An ARM crosstool chain and a version of Java are installed on the card, therefore Eclipse IDE will run out-of-the-box. The Eclipse environment is already configured to allow a quick startup with TS-7000 embedded development. The 'helloworld' example shows the user how to use the Eclipse functionalities.
Follow the next steps to get Eclipse running:
- In order to run the Eclipse Development environment for the TS-7000, double click 'runEclipse-Win.bat' file at the development SD Card root directory.
- Inside Eclipse, terminal tabs are properly configured to interface with the TS-7000 computer either via Telnet or via Serial Console (COM1 115200 N81)
- Connect the DB9 and Ethernet cables between your TS-7000 and Host PC. Apply power to the TS-7000. See the TS-7000 booting messages using the Eclipse IDE Console Terminal (last 'Terminal' tab on the Eclipse interface).
The TS-7000 will boot by default to a Linux initial ramdisk, which enables fast bootup time and provides the user with earlier control over the Linux system. Full Debian Linux can then be started from any source, including SD Card, onboard flash and NFS root. Type 'tshelp' at the shell prompt to find more information. In order to initiate full Debian bootup, type 'exit'.
The following is the source code for the “helloworld.c” program that is configured to be compiled and debugged with the Eclipse IDE for TS-7000. This helloworld program will be available to be compiled/debugged within Eclipse IDE after it is loaded. Follow the steps described in the source code in order to use helloworld, Eclipse and the TS-7000 SBC.
* TS-7000 Eclipse-based Development Environment - HelloWorld Example
* Getting Started: Connect the DB9 and Ethernet cables between your TS-7000
* and Host PC. Apply power to the TS-7000. See the TS-70000 console messages
* at the last 'Terminal' tab below.
* The 'Remote Systems' tab below allows you to connect to the TS-7000 target
* either via SSH or FTP. The first 'Terminal' tab performs telnet to the target.
* The second 'Terminal' tab is the serial console configured to COM1/115200/N81.
* The following is the default TS-7000 Linux configuration:
* Default TS-7000 target IP: 192.168.0.50
* Default TS-7000 eclipse user/password: eclipse/eclipse
* User 'root' has blank password, allowing login via telnet or console
* This Eclipse environment is already configured to use a correct ARM crosstool.
* In order to build this example, right-click 'helloworld' at Project Explorer ->
* Build Configurations -> Build All. Binaries will appear under 'Binaries'.
* The Eclipse interface requires Debian Linux to be running on the TS-7000.
* If you are booting to the fastboot Linux filesystem, type the 'exit' command to
* initiate complete Debian Linux boot.
* Follow the steps below to compile and run helloworld:
* 1) run Debian Linux on the TS-7000 (type 'exit' on the console 'Terminal')
* 1) play with the 'Remote Systems' tool in order to enable FTP and SSH
* connection to the TS-7000 and to browse the root filesystem
* 2) build the 'helloworld' project and copy the binary to the eclipse home
* (drag the file to the desired folder) at the TS-7000 target via FTP or SSH
* using the Eclipse 'Remote Systems' tool
* 3) open a telnet session using the 'Terminal' tool, login as eclipse
* 4) set helloworld as executable: 'chmod 755 /home/eclipse/helloworld'
* 5) execute helloworld: ./helloworld
* Follow the steps below to debug helloworld using gdb-server:
* 1) compile and copy the debug helloworld binary to the target
* 2) using a telnet session, run gdb-server:
* gdbserver localhost:10000 /home/eclipse/helloworld
* 3) run the 'helloworld Debug' configuration by clicking the green bug icon
* on the top bar
* 4) play with the Debug perspective in order to debug helloworld
* Refer to the Eclipse/DSDP documentation for further information:
int main ()
s = "TS-";
i = 7000;
printf ("Hello World %s%d!\n", s, i);
Contact Technologic Systems
16525 East Laser Drive
Fountain Hills, AZ 85268
- 08.11.2008: Created
- 02.23.2011: Updated mailing address