TS-7800-V2

From embeddedTS Manuals
TS-7800-V2
ts-7800-v2.gif
Product Page
Product Images
Specifications
Documentation
Schematic
Mechanical Drawing
FTP Path
Processor
Marvell MV88F6820
Armada 385 ARM Cortex-A9 1.3 GHz Dual Core CPU
WARNING: This is PRELIMINARY INFORMATION ONLY.


Overview

The TS-7800-V2 is a RoHS compliant Single Board Computer (SBC) based on a Marvell MV88F6820 1.3GHz (1.8GHz optional) Cortex-A9 Dual Core CPU. On-board PCI bus provides a standard set of high-end peripherals such as 10/100/1000 ethernet, dual SATA and dual USB 3.0 ports. The Mini PCI Express connector allows for the connection of off-board mSATA or PCIe cards. The TS-7800-V2 features 1 GB to 2 GB RAM of DDR3 RAM and 4 GB eMMC flash. The TS-7800-V2 also has on-board WiFi, Bluetooth, and an accelerometer.

Getting Started

A Linux PC is recommended for development. For developers who use Windows, virtualized Linux using VMWare or similar are recommended in order to make the full power of Linux available. The developer will need to be comfortable with Linux anyway in order to work with embedded Linux on the target platform. The main reasons that Linux is useful are:

  • Linux filesystems on the microSD card can be accessed on the PC.
  • More ARM cross-compilers are available.
  • If recovery is needed, a bootable medium can be written.
  • A network filesystem can be served.
  • Builds such as Linux kernel, buildroot, yocto, distro-seed will not work from WSL1/2 on a case insensitive filesystem.
WARNING: Be sure to take appropriate Electrostatic Discharge (ESD) precautions. Disconnect the power source before moving, cabling, or performing any set up procedures. Inappropriate handling may cause damage to the board.


Getting Console and Powering up

Get console input by setting the "EN CON" jumper, and plug a USB type Micro B cable into CN12. Connect the host side of the cable to a workstation for development. Console can be viewed before or after power is applied. Boot messages will only be printed once the device is powered on.

The cp210x (USB Serial) driver is included in most popular distributions. This will show up as /dev/ttyUSB0. For other operating systems:

The serial console is provided through this port at 115200 baud, 8n1, with no flow control. Picocom is the recommended linux client to use which can be run with the following command:

sudo picocom -b 115200 /dev/ttyUSB0

This will output some serial setting information and then "Terminal ready". Any messages after this point will be from the device via the serial output. The terminal is now ready and power can be applied in order to boot up the device.

The TS-7800-V2 receives power through the +5VDC power connector with a 1A minimum supply. Once power is applied, the device will output information via the console. The first output is from U-Boot:

BootROM - 1.73                                                                  
                                                                                
Booting from MMC                                                                
                                                                                
                                                                                
General initialization - Version: 1.0.0                                         
AVS selection from EFUSE disabled (Skip reading EFUSE values)                   
Overriding default AVS value to: 0x23                                           
Detected Device ID 6820                                                         
High speed PHY - Version: 2.0                                                   
                                                                                
Init Customer board board SerDes lanes topology details:                        
 | Lane # | Speed|    Type     |                                                
 ------------------------------|                                                
 |   0    |  3   |  SATA0      |                                                
 |   1    |  5   |  USB3 HOST0 |                                                
 |   2    |  3   |  SATA1      |                                                
 |   3    |  5   |  USB3 HOST1 |                                                
 |   5    |  5   |  PCIe2      |                                                
 -------------------------------                                                
mvSysEnvReadPcieGenSetting: TWSI Read of SatR field 'isForceGen1 failed         
:** Link is Gen1, check the EP capability                                       
PCIe, Idx 2: remains Gen1                                                       
High speed PHY - Ended Successfully                                             
DDR3 Training Sequence - Ver TIP-1.54.0                                         
DDR3 Training Sequence - Switching XBAR Window to FastPath Window               
DDR3 Training Sequence - Ended Successfully                                     
BootROM: Image checksum verification PASSED                                     
                                                                                
 __   __                      _ _                                               
|  \/  | __ _ _ ____   _____| | |                                               
| |\/| |/ _` | '__\ \ / / _ \ | |                                               
| |  | | (_| | |   \ V /  __/ | |                                               
|_|  |_|\__,_|_|    \_/ \___|_|_|                                               
         _   _     ____              _                                          
        | | | |   | __ )  ___   ___ | |_                                        
        | | | |___|  _ \ / _ \ / _ \| __|                                       
        | |_| |___| |_) | (_) | (_) | |_                                        
         \___/    |____/ \___/ \___/ \__|                                       
 ** LOADER **                                                                   
                                                                                
                                                                                
U-Boot 2013.01 (May 01 2017 - 14:41:41) Marvell version: 2016_T1.0.eng_drop_v2  
                                                                                
mvBoardIoExpanderDataSet: Write IO expander (addr=0x20, offset=2, value=0x40 tol
Board: Technologic Systems TS-7800v2                                            
SoC:   MV88F6820 Rev A0                                                         
       running 2 CPUs                                                           
CPU:   ARM Cortex A9 MPCore (Rev 1) LE                                          
       CPU 0                                                                    
       CPU    @ 1066 [MHz]                                                      
       L2     @ 533 [MHz]                                                       
       TClock @ 250 [MHz]                                                       
       DDR3    @ 533 [MHz]                                                      
       DDR3 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled      
DRAM:  1 GiB                                                                    
MMC:   mv_sdh: 0                                                                
sdhci_transfer_data: Error detected in status(0x408000)!                        
*** Warning - bad CRC, using default environment                                
                                                                                
PCI-e 2 (IF 0 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1        
USB2.0 0: Host Mode                                                             
USB3.0 0: Host Mode                                                             
USB3.0 1: Host Mode                                                             
                                                                                
Map:   Code:                    0x3fee4000:0x3ff97500                           
       BSS:                     0x3ffef754                                      
       Stack:                   0x3f963f20                                      
       Heap:                    0x3f964000:0x3fee4000                           
       U-Boot Environment:      0x00100200:0x00180200 (MMC)                     
                                                                                
Board configuration detected:                                                   
Net:                                                                            
|  port  | Interface | PHY address  |                                           
|--------|-----------|--------------|                                           
| egiga0 |   RGMII   |     0x01     |                                           
egiga0 [PRIME]                                                                  
Hit any key to stop autoboot:  0     


The "SD Boot" jumper, when set, will cause U-Boot to boot to SD, and when unset, U-Boot will boot to eMMC.

Note: The "*** Warning - bad CRC, using default environment" can be safely ignored. This indicates that u-boot scripts are not being customized. Typing "env save" will hide these messages, but this is not needed.

First Linux Boot

U-Boot is always loaded from the onboard eMMC flash. U-Boot has the ability to boot Linux, Android, QNX, or other operating systems on the SD or eMMC. The eMMC and SD cards shipped with the unit are pre-programmed with our Debian Jessie image. See other OS sections for information on the various OS options that we provide.

Initrd / Busybox / Fastboot

After the TS-7800-V2 is first booted you will be at this shell:

 Welcome to Buildroot    
 Type 'tshelp' for help
 / #

This is a busybox shell which presents you with a very minimalistic system. This filesystem is loaded into memory, so none of the changes will be saved unless you type 'save', or mount a filesystem as read write. This can also provide a simple mechanism for running your application in an entirely read only environment. The linuxrc script will be the first thing executed as soon as the kernel is loaded. This sets the default IP address, starts the userspace ctl applications, and more. Read the linuxrc for more information.

While busybox itself doesn't contain much functionality, it does mount the Debian partition under /mnt/root/. It will also add common paths and load libraries from the Debian system. Many of the Debian applications will work by default. If an application relies on certain paths being in certain places, or running services, you should instead boot to Debian to run them.

This shell when started on the COM port is what is blocking a Debian boot. If you close it by typing 'exit', the boot process will continue. If you are connected through telnet, this will instead open up its own instance of the shell so typing 'exit' will only end that session. You would have to relink the linuxrc script to always boot to a specific partition from telnet. When logging into Debian, the default user is 'root' with no password. Technologic Systems strongly recommends setting a secure password for your system root account.

The compiled instance of busybox includes internal commands listed below:

/ # /bin/busybox --help
BusyBox v1.24.1 (2017-05-02 11:36:21 PDT) multi-call binary.                    
BusyBox is copyrighted by many authors between 1998-2015.                       
Licensed under GPLv2. See source distribution for detailed                      
copyright notices.                                                              
                                                                                
Usage: busybox [function [arguments]...]                                        
   or: busybox --list                                                           
   or: function [arguments]...                                                  
                                                                                
        BusyBox is a multi-call binary that combines many common Unix           
        utilities into a single executable.  Most people will create a          
        link to busybox for each function they wish to use and BusyBox          
        will act like whatever it was invoked as.                               
                                                                                
Currently defined functions:                                                    
        [, [[, acpid, ash, base64, basename, beep, blkid, blockdev, bootchartd, 
        brctl, bzip2, cal, cat, catv, chat, chgrp, chmod, chown, chroot, cksum, 
        clear, comm, conspy, cp, cttyhack, cut, date, dd, depmod, devmem, df,   
        dhcprelay, dirname, dmesg, dnsdomainname, du, dumpleases, echo, egrep,  
        env, expr, false, fatattr, fbsplash, fdisk, fgconsole, fgrep, find,     
        findfs, flock, free, fstrim, fsync, ftpd, getopt, getty, grep, groups,  
        gunzip, halt, hd, head, hexdump, hostname, id, ifconfig, ifenslave,     
        ifplugd, init, insmod, iostat, kbd_mode, kill, killall, linuxrc, ln,    
        login, lpd, lpq, lpr, ls, lsmod, lsof, lspci, lsusb, lzop, lzopcat,     
        makemime, man, md5sum, mdev, microcom, mkdir, mkdosfs, mke2fs, mkfifo,  
        mkfs.ext2, mkfs.vfat, mknod, modinfo, modprobe, more, mount, mpstat,    
        mv, mvtime, nbd-client, netstat, nice, nohup, nslookup, ntpd, pgrep,    
        ping, ping6, pivot_root, pkill, pmap, popmaildir, poweroff, powertop,   
        printenv, printf, ps, pscan, pstree, pwd, pwdx, rdev, readahead,        
        reboot, reformime, rev, rm, rmdir, rmmod, route, rtcwake, rx, script,   
        scriptreplay, sed, sendmail, setconsole, setfont, setlogcons,           
        setserial, setsid, sh, sha1sum, sha256sum, sha3sum, sha512sum, showkey, 
        shuf, sleep, smemcap, split, stat, stty, sum, sync, tac, tail, tar,     
        tee, telnetd, test, tftp, tftpd, time, timeout, top, tr, traceroute,    
        traceroute6, true, truncate, tty, tunctl, udhcpc, udhcpd, uevent,       
        umount, uname, unlink, unlzop, unxz, unzip, uptime, usleep, uudecode,   
        uuencode, vi, volname, wget, whois, xargs, xz, xzcat, zcat
Note: You may want to refer to the sources for some of these commands if they are not behaving as you would expect. Busybox implements them so they are incredibly small, but they don't always provide all of the functionality as is in the standard gnu/bash shell commands. Some commands will provide the same functionality like date, but may only work with very specific formats.