
TS-7300 MANUAL
GETTING STARTED & SOFTWARE
✔
checksum and verify a predetermined number of sectors of SD flash
✔
verify a password typed to the console within 8 seconds of bootup
✔
verify a specific SD card serial number
✔
force booting only to a locked SD card
✔
unlock a locked SD card
✔
verify the CPU unique ID
✔
use the CPU unique ID to decrypt the SD unlock key
✔
use the typed password to decrypt the SD unlock key
6) After security processing, TS-SDBOOT loads the first 512 bytes of the SD card to
physical SDRAM at address 0x1000. Control is transferred in ARM Thumb mode and two
parameters are passed. In register r0 is the address to the TS-SDBOOT routine for
reading blocks from the SD card and in register r1 a routine to print messages to the serial
port is passed. The C stack pointer still is in on-chip SRAM. The C prototypes of these
functions are as follows:
✔
void sdread(unsigned int start_sector, char *buffer, int num_sectors)
✔
void ser_puts(char *buffer)
If the SD boot sector contains bad code, the SD card is not present, or in the case of
another unforseen problem with either the system, SD card, or the boot program that
keeps the board from booting Linux, the watchdog will expire and reset the board in
approx. 7.5 seconds.
7) The first 446 bytes of sector 0 contain Thumb program code that loads the first partition
with id 0xda as a kernel image at RAM location 0x218000 and the next with id 0xda as a
Linux initrd at 0x1000000. Linux ATAGs are composed and the kernel image is jumped
into.
8) The kernel decompresses itself and initializes. The 8 second watchdog is now
disabled. The compressed initrd is found, decompressed, and mounted as the root
filesystem.
9) The kernel invokes the program /linuxrc on the initrd, which loads the TS-7300 FPGA
and kernel modules for FPGA components. (serial driver, ethernet driver, SD card driver,
and video driver) A splash screen is displayed on the VGA out.
10) As a last step, the /linuxrc code mounts /dev/sdcard0/disc0/part3 and pivots to this as
the root filesystem and calls /sbin/init on the SD card filesystem. This starts either the
Debian or the TS-Linux initialization sequence.
Technologic Systems provides binary dd images of a bootable SD card for download and
also provide a utility to install just the MBR code on an arbitrary (pre-partitioned) SD card.
2.4 Fast Bootup Firmware
Through software optimizations, the
TS-7300
ARM SBC is able to bootup to a Linux
prompt just 1.69 seconds after power-up. Technologic Systems provides a SD Card
image that includes kernel tweaks, initrd tweaks and a few tweaks inside the Debian
filesystem itself on partition 3. In addition, fast boot optimizations have also been applied
to the TS-SDBOOT bootup firmware that resides in ROM memory.
© Apr, 2010 www.embeddedARM.com 15