1.69s Linux Fastboot and Linux Bootloader
The TS-7300 features a fastboot up firmware that allows Linux to boot in under to secods. To learn more about this visit the Linux Fastboot page.
Prior to booting into Debian(third partition) the initial ramdisk will check for /vmlinux.bin on the third partition. If this file is found it will be loaded into memory(0x00218000) and used as the new kernel. Once the kernel is loaded the boot process will proceed and Debian will be used as the root filesystem. For more information please see Linux Boots Linux with Linux Bootloader page .
SD Card High-Security Features
Technologic Systems has developed a Linux application named "sdlock" which can be used to manipulate SD card hardware-enforced password locks and set the card's permanent write-protect feature. Learn more about this feature by visiting the SD Card High-Security Features webapge.
Software Update via
USB Flash Drive in Factory Configuration
Note: The
TS-7400 TS-FLASHBOOT (the default bootloader)
also supports this feature.
Although Technologic Systems can load
the flash with customer supplied software
from the factory, it is often more convenient
to have a local production process for
installing or updating the files and
programs that make your product unique.
The default software installation enables
this by providing a hook to allow customer
code to "hijack" the normal fast-boot
bootup process. The default linuxrc will
run a program "/bin/check-usb-update" in
the background after bootup has completed.
This program looks for a script "/tsinit" on
the USB mass storage device (USB thumb-drive,
or USB hard drive) connected to the bottom
USB slot. If this script exists, it is
then run automatically as the Linux "root" user-ID.
A sample /tsinit script that copies a
program "myprogram" to onboard flash. #!/bin/sh
mount /dev/mtdblock/3 /onboardflash
cp /mnt/root/myprogram /onboardflash/bin
umount /onboardFlash
save
reboot
While the "tsinit" script is run, the
red LED will be on. After it is complete,
the red LED will go off. A customer could
mass-update many hundreds of boards easily
by using a USB flash dongle with a custom "tsinit" and
data files and applying power with the
USB dongle on, wait for the LED to go
off, then proceed to the next board.
The "tsinit" script will begin to execute
approximately 3 seconds after power-on.
Hardware Control Through
Linux Shell Scripts
Note: The
TS-7400 TS-FLASHBOOT (the default bootloader)
also supports this feature.
Technologic Systems provide a package
of shell functions which enable control
to some of the TS-7000 hardware functions
without having to write/compile C code.
These shell functions allow you to access
various functions such as DIO, ADCs and
so forth from the command line or in
your own shell scripts. The ts7xxx.subr
file, which includes the implementation
of all shell functions, is available
at:
There are two new commands added to
the provided TS busybox to support these
shell functions. These commands are "peekpoke" which
is used to provide direct access to memory,
and ADCread, which will provide a continuous
stream of analog to digital readings
(either on one channel or all channels)
to stdout in text format. Both of these
commands provide more info on what options
are available if you type them without
any arguments.
The Shell Functions include:
- dio_dir_get <n>: get the current
direction (0=input,1=output) of DIO
#n
- dio_dir_set <n> <dir>:
set the direction of DIO #n to the
specified direction (0=input,1=output)
- dio_data_get <n>: get the
current value (0=Low,1=High) of DIO
#n
- dio_data_set <n> <val>:
set the current value (0=Low,1=High)
of DIO #n (specified pin should be
set to be an output already)
- usb_init: call this function to
turn the USB ports on and initialize
them
- usb_off: call this function to turn
off the USB ports
- usb_numports: prints the number
of USB ports on the board. this may
be greater then the actual number of
physical ports. the first port is port
0
- usb_port_devexists <port>:
prints '1' if something is plugged
into the specified port, or '0' otherwise.
- eth_off: turns off the ethernet
port and phy
- eth_on: turns on the ethernet port
and phy
- led0 <state>: sets the state
of the green LED (0=OFF,1=ON)
- led1 <state>: sets the state
of the red LED (0=OFF,1=ON)
- cpu_speed_max: set the CPU and bus
speed to their maximum (normal) values,
e.g. 200Mhz/100Mhz.
- cpu_speed_166: set the CPU speed
to 166Mhz and the bus speed to 66Mhz.
- cpu_speed_42: set the CPU speed
and bus speed to 41.5Mhz. This is the
slowest speed that Ethernet will work
at.
- cpu_speed_min: set the CPU and bus
speed to their minimum values (14.7456Mhz)
- temp_read: returns the current Celsius
temperature reading from the TMP124
chip.
For further information, contact a Technologic
Systems engineer. |