--- In Jason Stahls <> wrote:
>
> Daniel Smolik wrote:
> > Very interested, any info about SD implementation ? Still binary blob ?
>
> Guaranteed, Technologic Systems NDA would still apply.
>
> --
> Jason Stahls
>
We are doing something different with SD this time.
There is no kernel module or compiled in kernel driver at all on the TS-7500.
The driver is implemented completely in userspace via the Linux NBD userspace
block driver interface. The "sdctl" application now has a "--nbdserver"
option. Now that we can do almost everything necessary in userspace (irqs,
DMA, and raw hw access), the only reason to implement anything in the kernel is
to get the last few percent of performance, which, if absolutely necessary, can
be more easily improved on by other means.
The NBD driver has been in Linux for a long time and has a history as a stable
protocol. There is some information on it here:
http://www.linuxjournal.com/article/3778 I particularly agree with the author
in the last few paragraphs at the bottom titled "Writing Linux Device Driver
Code"
The TS7500 serial ports are now implemented in a similar way. The hardware is
handled via userspace daemon and ports are presented to the user as either
localhost/remote TCP sockets or by using the pseudo-tty driver for legacy
serial driver compatibility.
A nice side-effect of this scheme is the ability to "export" SD cards or SD
card filesystem images via the network for faster or more convenient
development. This can also now be easily done with serial ports over TCP. For
testing, I had several boards worth of serial ports exported via TCP to
pseudo-tty's on my desktop Linux PC and was also able to "telnet" to serial
ports instead of using minicom.
It is our goal to do everything we need from userspace such that a customized
kernel or proprietary kernel modules are not necessary and the kernel+modules
can be left as "pristine" as possible. This will also have the desirable
effect of more easily moving to new kernels in the future when internal kernel
APIs change that would otherwise require rewriting drivers or being forever
tied to deprecated kernel versions.
//Jesse Off
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|