driver development tool

Albert Cahalan (albert@ccs.neu.edu)
Sun, 10 Nov 1996 20:48:23 -0500 (EST)


This is take #2 of plans to design and build a special tool
to aid development of drivers for completely undocumented
hardware. This tool is an ISA card that records activity on
the ISA bus. You can use it to watch Windows control that
parallel port tape drive, Windows printer, or network card.

Unlike DOSEMU, this card lets you snoop on NT, 95, and OS/2
performing IRQ and DMA operations. It also costs money to build.

The card will store data in onboard RAM or transmit it out
to a second PC. If the data is stored, then you can use a
program to read out the collected data. (what is better?)

Info from the developer:

> 2) access to PCB manufacturing
> 10 pieces of a 4-layer PCB cost ~$1200 and need 4 weeks for
> processing.

With 10 people, the PCB will cost ~$120. The price goes down
if more people want the board. Who wants one?

> 3) access to components
> In every civilized country there is at least one big shop
> sending almost any kind of components by mail order (e.g. RS
> Components in Italy and UK). They just ask the double of the
> regular market price :-(
> If you accept to pay their fees, getting the pieces should be
> not difficult. I could restrict my component's choice to what
> is easily available to anyone anywhere.
> As an alternative, I can buy the parts from my local distributors
> and get the real market price or less (if it happens I have a
> friend there).
>
> 4) soldering and testing
> SMD with fine pitch (0.2-0.25 mils) are the real trouble.
> The solutions are: I avoid them from the beginning (e.g. use PGAs),
> I get mad soldering them all by hand, or I go to our laboratory and
> seek for some helpful people with some spare time...

I think that means 2 to 5 pins/mm. It may be best to have Linux user
groups or university EE departments build the boards.

Maybe that can be avoided.

> 5) programming
> The FPGA is really critical. Xilinx is probably the worst choice
> for a free project, since you need their expensive, dongle-protected
> tools. I'm now looking to other brands, exp. Altera/Lattice.
> Not having free(cheap) programming tools means that programming
> must be centralized, and this rapidly becomes frustrating on both
> ends when something goes wrong.
>
> If there is a micro, it should be supported by gcc.
>
> I have now these choices:
> Motorola 68k family (e.g. 68332) - slow IMHO, no DRAM
> Transpu...oops, SGS 20450 - nice chip but 3.3V and 208 pin SMD;
> supported by Linux
> Motorola DSP56000 - very bad gcc port, needs asm; only
> 64K SRAM (*)
>
> I could also design with:
> Motorola DSP56302 (*)
> TI DSP320C31 (*)
>
> (*) meaning that I {have/can recover from older boards} free chips

I'm going to ask about one other...

> Current dream: a big FPGA connected to ALL the ISA pins, programmable
> on the fly by the PC itself; a fast 32-bit micro with very fast comm
> ports (ST20450) and a 32-bit bus with a standard 72-pin DRAM SIMM module
> (4-16M); 4 RS-232 ports; USB (Universal Serial BUS) controller; MIDI...
> Of course not all is needed by everyone, only the FPGA can be mounted
> in a minimal version, and it can be a PGA, so no trouble soldering it.
> You can easily implement any kind of UART in a reasonabily big chip.
> Probable costs (for the user):
> development and testing ... $0
> FPGA ... $50-$100
> PCB ... $1200/n_users
> uP(20450) ... $40
> uP(56000) ... $0
> RAM ... see your local store/get from an old PC
> Connectors, glue logic ... $10
>
> Any feedback?

Note that PCB cost drops with the number of people who want
a board. If you are interested, let me know. Also, state if
you are able to solder large surface-mount parts or just
regular large chips - like a CPU.