Console Access
Connect a serial null-modem (crossover) cable between the TS-5300's COM2 port and your PC. Open a terminal emulator, such as minicom or hyperterm. Set your terminal emulator's serial data rate to 9600 8-N-1.
Instructions for CF booting the TS-5300
Power your board. During the power-on memory test, hit control-c. Scroll to 'Basic CMOS Configuration' with control-x or control-e, then select with 'enter' key .
Change your bios setup to match the table below. Use control-e/control-x/Tab keys to select parameter and the +/- keys to modify the value. The arrow keys don't work (don't use them), use control-e, control-x and Tab to move around.
+------------------------------------------------------------------------------+
| System Bios Setup - Basic CMOS Configuration |
| (C) 2000 General Software, Inc. All rights reserved |
+---------------------------+--------------------+-----------------------------+
| DRIVE ASSIGNMENT ORDER: | Date:>Mar 06, 2006 | Typematic Delay : 250 ms |
| Drive A: (None) | Time: 22 : 11 : 35 | Typematic Rate : 30 cps |
| Drive B: (None) | NumLock: Disabled | Seek at Boot : None |
| Drive C: Ide 0/Pri Master +--------------------+ Show "Hit Del" : Enabled |
| Drive D: (None) | BOOT ORDER: | Config Box : Enabled |
| Drive E: (None) | Boot 1st: Drive C: | F1 Error Wait : Disabled |
| Drive F: (None) | Boot 2nd: (None) | Parity Checking : (Unused) |
| Drive G: (None) | Boot 3rd: (None) | Memory Test Tick : Disabled |
| Drive H: (None) | Boot 4th: (None) | Test Above 1 MB : Disabled |
| Drive I: (None) | Boot 5th: (None) | Debug Breakpoints: Disabled |
| Drive J: (None) | Boot 6th: (None) | Splash Screen : (Unused) |
| Drive K: (None) +--------------------+-----------------+-----------+
| Boot Method: Boot Sector | IDE DRIVE GEOMETRY: Sect Hds Cyls | Memory |
+---------------------------+ Ide 0: 3 = AUTOCONFIG, LBA | Base: |
| FLOPPY DRIVE TYPES: | Ide 1: Not installed | 640KB |
| Floppy 0: Not installed | Ide 2: Not installed | Ext: |
| Floppy 1: Not installed | Ide 3: Not installed | 15MB |
+---------------------------+--------------------------------------+-----------+
| ^E/^X/ to select or +/- to modify |
| to return to main menu |
+------------------------------------------------------------------------------+
When complete, return to main menu with 'escape' key. Then use, control-x to scroll to "Write to CMOS and Exit", save using 'enter' key.
Booting from external IDE, use TS-9600
BIOS, set IDE0 to LBA
Sec off, IRQ14
Technologics made IDE scanning fast, who boots an embedded device on an actual drive anyway? Anyway, if you connect an IDE drive to the TS-9500 it has to be a fast one, ie boot up time. You can't slow down the boot process of the board. What about slow drives. I had problems with slow seagates, I set the bios up as in the table below, a cold power up misses the IDE drive but you get a menu to enter set up, reboot or debug. Rebooting here will find the drive the second time through. Kind of pain, but it works. You don't want to use a slow drive in a product!
even though kdb works on the serial port, it still wants to scan the PCs? keyboard hardware
in kdb/kdbmain.c comment out kdba_local_arch_setup(); kdba_local_arch_cleanup();
Keith at kdb will fix this in v4.2
Building a driver development harddisk for the TS-5300 (This page isn't section correct, my script installs kernel version 2.4.20. I need to fix all the scripts to run 2.4.18 CH 030804)
If you want to write device drivers for the TS-5300 you'll need a development environment that matches the Technologic distribution. Basically you'll need a compiler, the kernel source (maybe) and the kernel headers that match the kernel running from the Technologic (on July 14, their kernel version 2.4.18). You can set up this environment easily on a desktop workstation but if your writing device drivers, you'll need access to the real hardware. Since most device drivers are small, you can use the board itself to compile its own code. But that takes a little setup before that can happen. Here are the options for development environment.
1. Compile on desktop, copy binary to target, run on target (the execute, debug, edit, compile loop time is long)
2. Target NFS mounts desktop directory, desktop compiles, target executes (NFS can be pain to setup)
3. Boot target on development harddisk, compile and execute on target (simple, but compile times can be long)
The third option is most attractive because its simple. Remember you are only compiling device drivers which are small. If you want to compile the kernel on the TS-5300, be prepared to wait for a long, long time.
Instructions
On a desktop, install Debian 3.0 on a 1.2G HD or greater, follow these instructions
THIS ISNT CORRECT YET CH 030806 Then run this sbc.install script
This sbc.install installs everything needed, compiler, kernel source and headers, kernel 2.4.18
Connect this disk to the TS-5300, change BIOS to boot from HD (see BIOS setup below for HD booting), boot and your ready for development
cd /tmp
tar zxvf linux-2.14.8.tar.gz
bzip -d kdb*
bzip -d TSpatchfile?
cd linux
patch -p0 < ../TS
patch -p1 < ../kdb
patch -p1 < ../kdb
make oldconfig
make dep bzImage
helloworld_proc_module.c is in /root, grep it for gcc to see how to compile it
cd /root
grep gcc helloworld_proc_module.c > a
cat a
gcc -O2 -D__KERNEL__ -DMODULE -I/usr/src/linux/include -c helloworld_proc_module.c -o helloworld_proc_module.o
source a
insmod helloworld_proc_module.o
lsmod
Module Size Used by Tainted: P
helloworld_proc_module 765 0 (unused)
cat /proc/helloworld
helloworld Default
DOC patching 2.4.20 notes
I couldn't patch 2.4.20 with doc 5.1.4, using old 5.0.0
cd /usr/src
rm -rf linux
tar zxvf linux-2.4.20.tar.gz
ln -s linux-2.4.20 linux
tar zxvf doc-linux-5.0.0.tgz
cd doc-linux-5.0.0/driver
./patch_linux linux-2_4-patch driver-patch /usr/src/linux
cd /usr/src/linux
wget http://www.embeddedlinuxinterfacing.com/seminar/ouray03w/config2.4.20doc
cp config2.4.20doc .config
yes n | make oldconfig
make dep
make bzImage
cp arch/i386/boot/bzImage /tmp
make modules
cp drivers/block/doc/doc.o /tmp
Here's the fastest boot setup for development disk booting
Boot on the harddisk, then
insmod /usr/src/ts5300/doc.o
mount /dev/fla1 /mnt
ls /mnt
Copy your working device drivers to /mnt.
Shutdown, remove development hardware and power up. The TS-5300 should boot from flash with the TS-5300 distribution.
I need a section here about booting from CF drive.
Here's a start.
Change your etc/fstab entries to hdc instead of hda
Set the TS-9500 dip switches to secondary and IRQ7.
Put in the CF drive on the TS-5300
Boot and set this up
Hold down control-c during memory test, then select BIOS debugger
BIOS Debugger help screen
REBOOT - cold boot the target
CONSOLE [CON|COMn] - set debug console
MASK x - set debug mask for EDOSROM
WCOMx byte [n] - write byte to COMx n times
MODE n - set video mode
D[b|w|d] [addr] - dump memory (bytes/words/dwords)
R[16|32] [reg value] - display registers
I[w|d] port - input from 8/16/32-bit I/O port
O[w|d] port val - output to 8/16/32-bit I/O port
U[16|32] [addr] - unassemble code
E addr byte [...] - enter bytes
V vector# - display interrupt vector table pointer
T - trace next instruction
+|- - inc/dec IP
G - go (resume execution)
BP addr - set breakpoint
BC bkpt# - clear breakpoint
BL - list breakpoints
SO x - route EDOSROM output to COMx
EA20|DA20 - enable/disable A20 line
ECACHE|DCACHE - enable/disable cache
TORAM - run BIOS from RAM
TOROM - run BIOS from ROM
WP [addr] - set/clear watchpoint
RC index - read CMOS RAM data
WC index byte ... - write CMOS RAM data
RFL phys:phys len - read nwords words from Flash
WFL phys:phys xxxx ... - write words to Flash
EFL phys:phys - erase Flash block
LFL phys:phys - lock Flash block
SFL phys:phys wdcnt value - set Flash words to value
UFL phys:phys wdcnt addr - update Flash from buffer
CSR index - read data from chipset
CSW index data - write data to chipset
SIOR index - read data from SIO chip
SIOW index data - write data to SIO chip
PCIR[BWD] idx [func dev bus] - read data from PCI device
PCIW[BWD] idx val [func dev bus]- write data to PCI device
PCID - dump PCI enumeration
RD|WD unit sec hd trk addr - read/write disk sector to/from buffer
BIOSDATA - display BIOS data area
?|HELP - show this help