Patrick Collins | 4 Feb 00:42 2010
Picon

NetBSD 5.0.1 Support for the TS7200

Hello,
 
Has anyone been able to get 5.0.1 installed and running on the TS7200.
 
Thanks.

Patrick Collins
+61 419 712 581
Ken Hornstein | 4 Feb 14:50 2010
X-Face
Picon

Re: NetBSD 5.0.1 Support for the TS7200

>Has anyone been able to get 5.0.1 installed and running on the TS7200.

Yes.  You need to trim the kernel config file (and, occasionally I get
a panic on startup, which seems to be something related to VM issues;
I haven't debugged it enough yet to know for sure).

Basically, you need to cut out a lot of crap from the kernel config file
and rebuild; the necessary changes are committed to the HEAD, but I didn't
have my shit together enough to request a pullup to 5.0.1.

If building a new kernel is beyond you, let me know and I can build you a
new running kernel and INSTALL image.

--Ken

idatum | 4 Feb 17:00 2010
Picon
Picon

Re: NetBSD 5.0.1 Support for the TS7200

Also, there are some additional config files to change if you have the 16mb 
flash version. Here's what I remember doing to create 
/usr/src/sys/arch/evbarm/stand/gzboot/TS7200_wd0_flash_0x60e60000:
- cp -Rf TS7200_flash_0x60660000 TS7200_flash_0x60e60000 and modify Makefile 
RELOC= 0x60e60000 and ldscript.
- Add SUBDIR to /usr/src/sys/arch/evbarm/stand/gzboot/Makefile.
- Add gzboot_TS7200_0x60e60000.bin to 
/usr/src/distrib/sets/lists/base/md.evbarm.
- Modify /usr/src/distrib/evbarm/gzboot/gzimg/Makefile targets to RELOC_ADDR 
0x60e60000 for TS7200.
- Build tools, kernel, and distribution.
- From /usr/src/distrib/evbarm/gzboot/gzimg: make 
DESTDIR=/usr/src/obj/destdir.evbarm  MACHINE=evbarm
- Find gzimg_TS7200_wd0_flash_0x60e60000 located in 
/usr/src/distrib/evbarm/gzboot/gzimg/obj.
- Generally, follow the instructions in the evbarm ports install under 
Preparation for the Technologic Systems TS-7200, replacing 0x60660000 with 
0x60e60000.

- Joel

--------------------------------------------------
From: "Ken Hornstein" <kenh <at> pobox.com>
Sent: Thursday, February 04, 2010 05:50
To: <port-arm <at> netbsd.org>
Subject: Re: NetBSD 5.0.1 Support for the TS7200

>>Has anyone been able to get 5.0.1 installed and running on the TS7200.
>
> Yes.  You need to trim the kernel config file (and, occasionally I get
> a panic on startup, which seems to be something related to VM issues;
> I haven't debugged it enough yet to know for sure).
>
> Basically, you need to cut out a lot of crap from the kernel config file
> and rebuild; the necessary changes are committed to the HEAD, but I didn't
> have my shit together enough to request a pullup to 5.0.1.
>
> If building a new kernel is beyond you, let me know and I can build you a
> new running kernel and INSTALL image.
>
> --Ken 

Craig Kulesa | 5 Feb 01:07 2010
Picon

Re: NetBSD 5.0.1 Support for the TS7200


> Has anyone been able to get 5.0.1 installed and running on the TS7200?

I have NetBSD 4.0 and 5.0.1 running on several TS7200's for various lab
purposes.  I haven't yet seen the startup panic that Ken mentioned. Weird.

If you have the 8 MB Flash version of the board, you can use the minimal 
kernel image (gzimg-TS7200_0x60660000) that I use at:
 	http://loke.as.arizona.edu/~ckulesa/binaries/NetBSD/

I don't have an INSTALL image handy right now, but I'll upload one next 
time I do a build.  In the meantime, you can use the NetBSD 3.x INSTALL 
image to do a functional network install of 5.0.1 (userland, just change 
the FTP directory), and then drop this gzimg into flash to make it 
self-booting.  I actually did this once!

I've had great fun with these boards -- we have one operating at the 
highest, most isolated point on the Antarctic plateau, running a small 
astronomical instrument[*] and using the Iridium satellite network for 
communications.  Most recently, we've flown two of them on the first test 
flight of a stratospheric balloon-borne astronomical experiment[**]. 
They've survived continuous operation at -40 to -80C in Antarctica, and 
the nasty near-vacuum environment at 125,000 feet (35 km) altitude on the 
balloon.  NetBSD has been running them beautifully, with generally fewer 
hiccups than I had with the stock Linux (2.4) that shipped with them. 
Pretty nifty!

Craig Kulesa
ckulesa <at> as.arizona.edu
Univ. of Arizona

* http://mcba11.phys.unsw.edu.au/~plato/plato.html
 	(see "Instruments" --> "PreHEAT")

** http://stratocat.com.ar/fichas-e/2009/FSU-20091015.htm
    http://loke.as.arizona.edu/~ckulesa/binaries/STO/

Ken Hornstein | 5 Feb 04:01 2010
X-Face
Picon

Re: NetBSD 5.0.1 Support for the TS7200

>> Has anyone been able to get 5.0.1 installed and running on the TS7200?
>
>I have NetBSD 4.0 and 5.0.1 running on several TS7200's for various lab
>purposes.  I haven't yet seen the startup panic that Ken mentioned. Weird.

Well, it's actually when the rc scripts are running ... and not all of
the time.  It happened when I added one small program I wrote (which
after boot ran fine).  So I'm not sure what's going on there.  Maybe
this weekend I'll look at it further.

--Ken

Patrick Collins | 5 Feb 05:20 2010
Picon

Re: NetBSD 5.0.1 Support for the TS7200

Craig,
 
That's really good news and I will download your kernel image tonight and try it out. Some follow up questions:
 
  • If you could put up a 5.0.1 install kernel that would be great.
  • I am really struggling to understand how to build a kernel for the TS7200 so if you had some sort of minimal procedure that would be greatly appreciated.
  • Can you make your kernel config file available.
  • What is the device driver support like for the ADC and DIO hardware in the 5.0.1 kernel.
  • Have you had any experience writing additional hardware device drivers, examples would be appreciated.
Thankyou.
 
Patrick Collins
 
On 05/02/2010, Craig Kulesa <ckulesa <at> as.arizona.edu> wrote:


Has anyone been able to get 5.0.1 installed and running on the TS7200?

I have NetBSD 4.0 and 5.0.1 running on several TS7200's for various lab
purposes.  I haven't yet seen the startup panic that Ken mentioned. Weird.

If you have the 8 MB Flash version of the board, you can use the minimal kernel image (gzimg-TS7200_0x60660000) that I use at:
       http://loke.as.arizona.edu/~ckulesa/binaries/NetBSD/

I don't have an INSTALL image handy right now, but I'll upload one next time I do a build.  In the meantime, you can use the NetBSD 3.x INSTALL image to do a functional network install of 5.0.1 (userland, just change the FTP directory), and then drop this gzimg into flash to make it self-booting.  I actually did this once!

I've had great fun with these boards -- we have one operating at the highest, most isolated point on the Antarctic plateau, running a small astronomical instrument[*] and using the Iridium satellite network for communications.  Most recently, we've flown two of them on the first test flight of a stratospheric balloon-borne astronomical experiment[**]. They've survived continuous operation at -40 to -80C in Antarctica, and the nasty near-vacuum environment at 125,000 feet (35 km) altitude on the balloon.  NetBSD has been running them beautifully, with generally fewer hiccups than I had with the stock Linux (2.4) that shipped with them. Pretty nifty!

Craig Kulesa
ckulesa <at> as.arizona.edu
Univ. of Arizona


* http://mcba11.phys.unsw.edu.au/~plato/plato.html
       (see "Instruments" --> "PreHEAT")

** http://stratocat.com.ar/fichas-e/2009/FSU-20091015.htm
  http://loke.as.arizona.edu/~ckulesa/binaries/STO/



--
Patrick Collins
+61 419 712 581
Ken Hornstein | 5 Feb 14:22 2010
X-Face
Picon

Re: NetBSD 5.0.1 Support for the TS7200

>   - I am really struggling to understand how to build a kernel for the
>   TS7200 so if you had some sort of minimal procedure that would be greatly
>   appreciated.

You probably don't want to build ON the TS7200, because it's not the fastest
machine out there.

NetBSD actually has a pretty good cross-compilation environment.  Check
out the build.sh script at the top-level of the NetBSD sources.

5.0.1 has support for the extra DIO boards that are sold for the TS7200;
if you want support for the on-board DIO pins then that support is in
-current, and I have back-ported it to 5.0.1; contact me for more info.

There is currently no support for any of the ADIO hardware for the
TS7200; I have been meaning to write some, but I haven't figured out
what the API should look like.

If you're cross-compiling from MacOS X, you will need some changes;
you can ask me for those.

--Ken

Ken Hornstein | 8 Feb 04:40 2010
X-Face
Picon

Re: NetBSD 5.0.1 Support for the TS7200

>To get started I want to build a development environment so that I can build
>TS-7200 kernels. At this point I have a cross development environment
>running on a IA64 VMware virtual. I can build the standard TS7200 kernel in
>the 5.0.1 source tree but I can't work out how to gzip it so that it can be
>written to and booted from the TS-7200 flash.

Fair enough; you either have to look at the various Makefiles, or build
a full distribution and watch the commands go by.

>If you can help me with the following things I would be very thankful:
>
>1.    How to build a TS-7200 gzipped kernel.

Well, _that_ part is easy, actually.  Just gzip it!

But seriously ... when you build your kernel, you should have something
like "netbsd.bin", or "netbsd-wd0.bin" (if you are using a CF card, you
probably want the latter).  First, gzip that (probably with -9).

Then, you need a file called "gzboot_TS7200_0x60660000.bin".  That probably
lives in /usr/mdec on the TS7200 distribution media (you can also build
that via the cross-compilation environment by using "build.sh build".
Simply cat those together:

cat gzboot_TS7200_0x60660000.bin netbsd-wd0.bin.gz > netbsd.gz

And voila!  Copy that to flash, and you're good to go.

>2.    A kernel config file that will built a kernel for an 8 MB flash / 32
>MB RAM TS-7200.

I've attached what I use ... but you probably want to comment out the
stuff about epgpio.  Notice that basically it's the TS7200 kernel config
file with a bunch of crap removed.

>3.    Any pointer you may have that will help me to build a kernel driver
>for the onboard ADC hardware and use it with TCL.

Ummm ... do you have the additional ADC hardware? (The MAX197).
The EP9302 does have a on-board ADC, but it's not clear to me that
it's usable (there is calibration data for it in an EEPROM that the
TS7250 has, but the TS7200 does not).

A driver for that has to be written.  No one has done that yet.  I suppose
in theory you could do that from userspace via /dev/mem or something like
that.  You could maybe even do that via a Tcl extension.  The TS7200
manual has more details on how that works.

--Ken
#
#	MODRED -- Ken's TS7200
#

include	"arch/evbarm/conf/std.tsarm"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
options		MSGBUFSIZE=65536
#options 	KSTACK_CHECK_MAGIC

# estimated number of users
maxusers	32

# Standard system options

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

# CPU options

options 	CPU_ARM9	# Support the ARM9TDMI core

# File systems

file-system	FFS		# UFS
#file-system	LFS		# log-structured file system
#file-system	MFS		# memory file system
file-system	TMPFS		# Efficient memory file system
#file-system	NFS		# Network file system
#file-system 	ADOSFS		# AmigaDOS-compatible file system
#file-system 	EXT2FS		# second extended file system (linux)
#file-system	CD9660		# ISO 9660 + Rock Ridge file system
#file-system	MSDOSFS		# MS-DOS file system
#file-system	FDESC		# /dev/fd
#file-system    FILECORE        # Acorn filecore file system
file-system	KERNFS		# /kern
#file-system	NULLFS		# loopback file system
#file-system	PORTAL		# portal filesystem (still experimental)
file-system	PROCFS		# /proc
#file-system	UMAPFS		# NULLFS + uid and gid remapping
#file-system	UNION		# union file system
file-system	PTYFS		# /dev/pts/N support

# File system options
#options 	QUOTA		# UFS quotas
#options 	FFS_EI		# FFS Endian Independant support
#options 	NFSSERVER
#options 	SOFTDEP
options 	WAPBL		# File system journaling support - Experimental
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support

# Networking options

#options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_ESP	# IP security (encryption part; define w/ IPSEC)
#options 	IPSEC_NAT_T	# IPsec NAT traversal (NAT-T)
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	ISO,TPIP	# OSI
#options 	EON		# OSI tunneling over IP
#options 	NETATALK	# AppleTalk networking
#options 	PFIL_HOOKS	# pfil(9) packet filter hooks
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	NFS_BOOT_BOOTP
#options 	NFS_BOOT_DHCP
#options 	NFS_BOOT_BOOTPARAM

# Compatibility options

#options 	COMPAT_LINUX
#options 	COMPAT_43	# 4.3BSD compatibility.
options 	COMPAT_40	# NetBSD 4.0 compatibility.
options 	COMPAT_30	# NetBSD 3.0 compatibility.
options 	COMPAT_20	# NetBSD 2.0 compatibility.
#options 	COMPAT_16	# NetBSD 1.6 compatibility.
#options 	COMPAT_15	# NetBSD 1.5 compatibility.
#options 	COMPAT_14	# NetBSD 1.4 compatibility.
#options 	COMPAT_13	# NetBSD 1.3 compatibility.
#options 	COMPAT_12	# NetBSD 1.2 compatibility.
#options 	COMPAT_11	# NetBSD 1.1 compatibility.
#options 	COMPAT_10	# NetBSD 1.0 compatibility.
#options 	COMPAT_09	# NetBSD 0.9 compatibility.
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

# Shared memory options

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SEMMNI=10	# number of semaphore identifiers
options 	SEMMNS=60	# number of semaphores in system
options 	SEMUME=10	# max number of undo entries per process
options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V-like memory sharing
options 	SHMMAXPGS=1024	# 1024 pages is the default

# Device options

#options 	MEMORY_DISK_HOOKS	# boottime setup of ramdisk
#options 	MEMORY_DISK_ROOT_SIZE=3400	# Size in blocks
#options 	MEMORY_DISK_IS_ROOT	# use memory disk as root

# Console options.  The default console is speed is 115200 baud.
#options 	CONSPEED=9600		# Console speed

# Miscellaneous kernel options
options 	KTRACE		# system call tracing, a la ktrace(1)
options 	IRQSTATS	# manage IRQ statistics
#options 	LKM		# loadable kernel modules
#options 	KMEMSTATS	# kernel memory statistics
#options 	SCSIVERBOSE	# Verbose SCSI errors
#options 	PCIVERBOSE	# Verbose PCI descriptions
#options 	MIIVERBOSE	# Verbose MII autoconfuration messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space
#options 	DDB_KEYCODE=0x40
#options 	USERCONF	# userconf(4) support
#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)

# Development and Debugging options

#options 	PERFCTRS	# performance counters
options 	DIAGNOSTIC	# internally consistency checks
#options 	DEBUG
#options 	PMAP_DEBUG	# Enable pmap_debug_level code
#options 	VERBOSE_INIT_ARM # verbose bootstraping messages
#options 	DDB		# in-kernel debugger
#options		DDB_ONPANIC=1
#options 	DDB_HISTORY_SIZE=100	# Enable history editing in DDB
#makeoptions	DEBUG="-g"	# compile full symbol table
options 	SYMTAB_SPACE=450000

##options 	PMAP_INCLUDE_PTE_SYNC
##options 	LOCKDEBUG

config		netbsd		root on ? type ?
#config		netbsd-epe0	root on epe0 type nfs
config		netbsd-wd0	root on wd0 type ffs
#config		netbsd-sd0	root on sd0 type ffs

# The main bus device
mainbus0	at root

# The boot cpu
cpu0		at mainbus?

# Cirrus Logic EP93xx System-on-chip
epsoc0		at mainbus?
# On-chip timers
epclk0		at epsoc? addr 0x80810000 size 0x90 intr 35
# On-chip serial UARTS
epcom0		at epsoc? addr 0x808c0000 size 0x1000 intr 52
epcom1		at epsoc? addr 0x808d0000 size 0x1000 intr 54
# On-chip USB 1.1
ohci*		at epsoc? addr 0x80020000 size 0x1000 intr 56
# On-chip 10/100 Ethernet
epe0		at epsoc? addr 0x80010000 size 0x10000 intr 39
# On-board TS-7200 CPLD
tspld0		at mainbus?
# PC/104 bus
isa0		at tspld?
# CompactFlash interface
wdc0		at tspld?
# TS-5620 battery-backed real-time clock
tsrtc*		at tspld?
# On-board GPIO ports
epgpio0		at epsoc? addr 0x80840000 size 0xcc intr 59
gpio*		at epgpio?
options		EPGPIO_PORT_C_MASK=0x00
options		EPGPIO_PORT_D_MASK=0x00
options		EPGPIO_PORT_E_MASK=0x00
options		EPGPIO_PORT_F_MASK=0x02
options		EPGPIO_PORT_G_MASK=0x00
options		EPGPIO_PORT_H_MASK=0x38

# HD44780 LCD on LCD header
#tslcd*		at tspld?
#wsdisplay*	at tslcd? console ?

# 4x4 Matrix Keypad on DIO header
#tskp*		at tspld?
#wskbd*	at tskp? console ? mux 1

# TS-SER[1,2,4] multiport serial PC/104 cards
com0		at isa? port 0x3f8 irq 6        # Standard PC serial ports
com1		at isa? port 0x2f8 irq 6
com2		at isa? port 0x3e8 irq 6
com3		at isa? port 0x2e8 irq 6

wdc1	at isa? port 0x1f0 irq 7 flags 0x00
wdc2	at isa? port 0x170 irq 7 flags 0x00

#tscs0	at isa? port 0x300 iomem ? irq ? drq ?  # TS-ETH10 PC/104 ethernet
#tscs1	at isa? port 0x310 iomem ? irq ? drq ?
#tscs2	at isa? port 0x320 iomem ? irq ? drq ?
#tscs3	at isa? port 0x330 iomem ? irq ? drq ?

#tsdio0  at isa? port 0x100 # TS-DIO24 general-purpose I/O
#tsdio1  at isa? port 0x108
#tsdio2  at isa? port 0x110
#tsdio3  at isa? port 0x118

# PCMCIA bus support
#pcmcia* at pcic? controller ? socket ?

#options PCIC_ISA_INTR_ALLOC_MASK=0xe0
# ISA PCMCIA controllers
#pcic0	at isa? port 0x3e0 iomem 0xd0000 iosiz 0x10000
#pcic1	at isa? port 0x3e2 iomem 0xe0000 iosiz 0x4000
#pcic2	at isa? port 0x3e4 iomem 0xe0000 iosiz 0x4000

# ATA (IDE) bus support
atabus* at ata?

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*	at atabus? drive ? flags 0x00ff

# ATAPI bus support
#atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
# XXX No DMA on IDE devices for now
#cd*	at atapibus? drive ? flags 0x0ff0	# ATAPI CD-ROM drives
#sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
#st*	at atapibus? drive ? flags 0x0000	# ATAPI tape drives
#uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown

# MII/PHY support
#acphy*	at mii? phy ?			# Altima AC101 and AMD Am79c874 PHYs
#amhphy* at mii? phy ?			# AMD 79c901 Ethernet PHYs
#bmtphy* at mii? phy ?			# Broadcom BCM5201 and BCM5202 PHYs
#brgphy* at mii? phy ?			# Broadcom BCM5400-family PHYs
#dmphy*	at mii? phy ?			# Davicom DM9101 PHYs
#exphy*	at mii? phy ?			# 3Com internal PHYs
#gentbi* at mii? phy ?			# Generic Ten-Bit 1000BASE-[CLS]X PHYs
#glxtphy* at mii? phy ?			# Level One LXT-1000 PHYs
#gphyter* at mii? phy ?			# NS83861 Gig-E PHY
#icsphy* at mii? phy ?			# Integrated Circuit Systems ICS189x
#igphy*	at mii? phy ?			# Intel IGP01E1000
#inphy*	at mii? phy ?			# Intel 82555 PHYs
#iophy*	at mii? phy ?			# Intel 82553 PHYs
#lxtphy* at mii? phy ?			# Level One LXT-970 PHYs
#makphy* at mii? phy ?			# Marvell Semiconductor 88E1000 PHYs
#nsphy*	at mii? phy ?			# NS83840 PHYs
#nsphyter* at mii? phy ? 		# NS83843 PHYs
#pnaphy* at mii? phy ?			# generic HomePNA PHYs
#qsphy*	at mii? phy ?			# Quality Semiconductor QS6612 PHYs
#sqphy*	at mii? phy ?			# Seeq 80220/80221/80223 PHYs
#tlphy*	at mii? phy ?			# ThunderLAN PHYs
#tqphy*	at mii? phy ?			# TDK Semiconductor PHYs
ukphy*	at mii? phy ?			# generic unknown PHYs
#urlphy* at mii? phy ?			# Realtek RTL8150L internal PHYs

# USB Controller and Devices

# USB bus support
#usb*	at ehci?
usb*	at ohci?
#usb*	at uhci?
#usb*	at slhci?

# USB Hubs
uhub*	at usb?
uhub*	at uhub? port ?

# USB HID device
uhidev*	at uhub? port ? configuration ? interface ?

# USB Mice
# ums*	at uhidev? reportid ?
# wsmouse* at ums? mux 0

# USB eGalax touch-panel
# uep*	at uhub? port ?
# wsmouse* at uep? mux 0

# USB Keyboards
#ukbd*	at uhidev? reportid ?
#wskbd*	at ukbd? console ? mux 1

# USB serial adapter
#ucycom*	at uhidev? reportid ?

# USB Generic HID devices
#uhid*	at uhidev? reportid ?

# USB Printer
#ulpt*	at uhub? port ? configuration ? interface ?

# USB Modem
#umodem*	at uhub? port ? configuration ?
#ucom*	at umodem?

# USB Mass Storage
#umass*	at uhub? port ? configuration ? interface ?
#scsibus* at umass?
# SCSI devices
#sd*     at scsibus? target ? lun ?      # SCSI disk drives
#st*     at scsibus? target ? lun ?      # SCSI tape drives
#cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
#ch*     at scsibus? target ? lun ?      # SCSI autochangers
#ses*    at scsibus? target ? lun ?      # SCSI Enclosure Services devices
#ss*     at scsibus? target ? lun ?      # SCSI scanners
#uk*     at scsibus? target ? lun ?      # SCSI unknown

# wd*	at umass?

# USB audio
#uaudio*	at uhub? port ? configuration ?

# USB MIDI
#umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
#uirda* at uhub? port ? configuration ? interface ?
#irframe* at uirda?

# SigmaTel STIr4200 USB/IrDA Bridge
#ustir* at uhub? port ?
#irframe* at ustir?

# USB Ethernet adapters
#aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
#axe*	at uhub? port ?		# ASIX AX88172 based adapters
#cue*	at uhub? port ?		# CATC USB-EL1201A based adapters
#kue*	at uhub? port ?		# Kawasaki LSI KL5KUSB101B based adapters
#udav*	at uhub? port ?		# Davicom DM9601 based adapters
#url*	at uhub? port ?		# Realtek RTL8150L based adapters

# Prolific PL2301/PL2302 host-to-host adapter
#upl*	at uhub? port ?

# Serial adapters
#ubsa*	at uhub? port ?		# Belkin serial adapter
#ucom*	at ubsa? portno ?

#uftdi*	at uhub? port ?		# FTDI FT8U100AX serial adapter
#ucom*	at uftdi? portno ?

#umct*	at uhub? port ?		# MCT USB-RS232 serial adapter
#ucom*	at umct? portno ?

#uplcom* at uhub? port ? 	# I/O DATA USB-RSAQ2 serial adapter
#ucom*	at uplcom? portno ?

#uvscom* at uhub? port ? 	# SUNTAC Slipper U VS-10U serial adapter
#ucom*	at uvscom? portno ?
#atu*	at uhub? port ?		# Atmel AT76C50XX 802.11b adapter

# Diamond Multimedia Rio 500
# urio*	at uhub? port ?

# USB Handspring Visor
# uvisor*	at uhub? port ?
# ucom*	at uvisor?

# Kyocera AIR-EDGE PHONE
#ukyopon* at uhub? port ?
#ucom*	at ukyopon? portno ?

# USB scanners
# uscanner* at uhub? port ?

# USB scanners that use SCSI emulation, e.g., HP5300
# usscanner* at uhub? port ?

# Y <at> P firmware loader
# uyap* at uhub? port ?

# D-Link DSB-R100 USB radio
# udsbr*	at uhub? port ?
# radio*	at udsbr?

# USB Generic driver
ugen*	at uhub? port ?

# IrDA and Consumer Ir devices

# Toshiba Oboe
# oboe* 	at pci? dev ? function ?
# irframe* at oboe?

# CardBus IEEE1394 controllers
#fwohci* at cardbus? function ?	# IEEE1394 Open Host Controller

#fw*	at fwbus?			# IP over 1394

# IEEE1394 nodes
#fwnode* at fwbus? idhi ? idlo ?
#sbpscsi* at fwnode?
#scsibus* at sbpscsi?

# Audio Devices

# OPL[23] FM synthesizers
#opl*	at cmpci? flags 1
#opl*	at eso?
#opl*	at fms?
#opl*	at sv?
#opl*	at yds?

# Audio support
#audio*	at audiobus?

# MPU 401 UARTs
#mpu*	at cmpci?
#mpu*	at eso?
#mpu*	at fms?
#mpu*	at yds?

# MIDI support
#midi*	at midibus?

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device	md		1	# memory disk device (ramdisk)
pseudo-device	vnd			# disk-like interface to files
#pseudo-device	fss		4	# file system snapshot device

# network pseudo-devices
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	loop			# network loopback
pseudo-device	kttcp			# network loopback

# miscellaneous pseudo-devices
pseudo-device	pty			# pseudo-terminals
pseudo-device	rnd			# /dev/random and in-kernel generator
#options	RND_COM
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms

# data mover pseudo-devices
#pseudo-device	swdmover		# softare dmover(9) back-end
#pseudo-device	dmoverio		# /dev/dmover dmover(9) interface

#
# wscons options
#
# builtin terminal emulations
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
#options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
#options 	WS_DEFAULT_FG=WSCOL_WHITE
#options 	WS_DEFAULT_BG=WSCOL_BLACK
#options 	WS_DEFAULT_COLATTR="(0)"
#options 	WS_DEFAULT_MONOATTR="(0)"
#options 	WS_KERNEL_FG=WSCOL_GREEN
#options 	WS_KERNEL_BG=WSCOL_BLACK
#options 	WS_KERNEL_COLATTR=""
#options 	WS_KERNEL_MONOATTR=""
# customization of console border color
#options 	WSDISPLAY_CUSTOM_BORDER	# border customization from wsconsctl(8)
#options 	WSDISPLAY_BORDER_COLOR=WSCOL_BLUE	# default color
# compatibility to other console drivers
#options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
#options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
#options 	WSDISPLAY_COMPAT_USL		# VT handling
#options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
#options 	PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
# allocate a number of virtual screens at autoconfiguration time
#options 	WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
#options 	PCDISPLAY_SOFTCURSOR
# modify the screen type of the console; defaults to "80x25"
#options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""
# work around a hardware bug that loaded fonts don't work; found on ATI cards
#options 	VGA_CONSOLE_ATI_BROKEN_FONTSEL
# console scrolling support.
#options 	WSDISPLAY_SCROLLSUPPORT
# enable VGA raster mode capable of displaying multilingual text on console
#options 	VGA_RASTERCONSOLE

# wscons pseudo-devices
#pseudo-device	wsmux			# mouse & keyboard multiplexor
#pseudo-device	wsfont

Patrick Collins | 7 Feb 03:06 2010
Picon

Re: NetBSD 5.0.1 Support for the TS7200

Ken,


I am intending to build a system to monitor the health of my boat using the TS-7200 and the TS-GSM1. I want the TS-7200 to monitor battery voltages using the onboard ADC and to monitor security and a bilge float switch and a few other things using the onboard DIO. I will use a USB connected GPS receiver to monitor position so that I will know if the boat is on the move when it shouldn't be (stolen or slipped it's mooring or anchor). I will use the TS-GSM1 to send alerts if something is abnormal. I am going to use TCL to glue all this together because it my absolutely favourite programming language. If this is all successful then I will make some more for my yachting friends and then maybe sell some as well.

To get started I want to build a development environment so that I can build TS-7200 kernels. At this point I have a cross development environment running on a IA64 VMware virtual. I can build the standard TS7200 kernel in the 5.0.1 source tree but I can't work out how to gzip it so that it can be written to and booted from the TS-7200 flash.

If you can help me with the following things I would be very thankful:

1.    How to build a TS-7200 gzipped kernel.

2.    A kernel config file that will built a kernel for an 8 MB flash / 32 MB RAM TS-7200.

3.    Any pointer you may have that will help me to build a kernel driver for the onboard ADC hardware and use it with TCL.

Thankyou.

Patrick Collins
+61 419 712 581


On 5 February 2010 23:22, Ken Hornstein <kenh <at> pobox.com> wrote:
>   - I am really struggling to understand how to build a kernel for the
>   TS7200 so if you had some sort of minimal procedure that would be greatly
>   appreciated.

You probably don't want to build ON the TS7200, because it's not the fastest
machine out there.

NetBSD actually has a pretty good cross-compilation environment.  Check
out the build.sh script at the top-level of the NetBSD sources.

5.0.1 has support for the extra DIO boards that are sold for the TS7200;
if you want support for the on-board DIO pins then that support is in
-current, and I have back-ported it to 5.0.1; contact me for more info.

There is currently no support for any of the ADIO hardware for the
TS7200; I have been meaning to write some, but I haven't figured out
what the API should look like.

If you're cross-compiling from MacOS X, you will need some changes;
you can ask me for those.

--Ken

Patrick Collins | 10 Feb 04:07 2010
Picon

Re: NetBSD 5.0.1 Support for the TS7200

Craig,
 
Is this one of your babies:
 
 
Looks interesting.
 
Patrick Collins

 
On 05/02/2010, Craig Kulesa <ckulesa <at> as.arizona.edu> wrote:


Has anyone been able to get 5.0.1 installed and running on the TS7200?

I have NetBSD 4.0 and 5.0.1 running on several TS7200's for various lab
purposes.  I haven't yet seen the startup panic that Ken mentioned. Weird.

If you have the 8 MB Flash version of the board, you can use the minimal kernel image (gzimg-TS7200_0x60660000) that I use at:
       http://loke.as.arizona.edu/~ckulesa/binaries/NetBSD/

I don't have an INSTALL image handy right now, but I'll upload one next time I do a build.  In the meantime, you can use the NetBSD 3.x INSTALL image to do a functional network install of 5.0.1 (userland, just change the FTP directory), and then drop this gzimg into flash to make it self-booting.  I actually did this once!

I've had great fun with these boards -- we have one operating at the highest, most isolated point on the Antarctic plateau, running a small astronomical instrument[*] and using the Iridium satellite network for communications.  Most recently, we've flown two of them on the first test flight of a stratospheric balloon-borne astronomical experiment[**]. They've survived continuous operation at -40 to -80C in Antarctica, and the nasty near-vacuum environment at 125,000 feet (35 km) altitude on the balloon.  NetBSD has been running them beautifully, with generally fewer hiccups than I had with the stock Linux (2.4) that shipped with them. Pretty nifty!

Craig Kulesa
ckulesa <at> as.arizona.edu
Univ. of Arizona


* http://mcba11.phys.unsw.edu.au/~plato/plato.html
       (see "Instruments" --> "PreHEAT")

** http://stratocat.com.ar/fichas-e/2009/FSU-20091015.htm
  http://loke.as.arizona.edu/~ckulesa/binaries/STO/



--
Patrick Collins
+61 419 712 581

Gmane