PortTalk for WinNT/2000/XP

  • PortTalk - A Windows NT/2000/XP I/O Port Device Driver Version 2.2
    A problem that plagues Windows NT/2000/XP, is it's strict control over I/O ports. Unlike Windows 95 & 98, Windows NT/2000/XP will cause an exception (Privileged Instruction) if an attempt is made to access an I/O port that your program is not privileged to access. This article discusses the restricting mechanisms and how to overcome these problems. It provides a PortTalk driver complete with source code which allows existing programs to access selected I/O ports and provides an example of writing your own device driver. Now includes an example showing how to use inp/outp, inportb/outportb via IoDevControl calls to PortTalk in Windows NT/2000/XP.

    uClinux - Linux for MicroControllers

  • uClinux - Part 1 : Setting up the Development Environment (2.0.38)
    Setting up a development system for uClinux from scratch is not hard. This article covers the uClinux Kernel 2.0.38, m68k-coff, m68k-pic-coff, m68k-pic32-coff and m68k-elf Tool Chains, coff2flt converter, uC-libc and uC-libm libraries and gdb. All the sources are downloadable, with links provided.

  • uClinux - Part 2 : Understanding the Build Tools
    Part two of this series looks at building the uClinux Kernel, generating the ROM filesystem, configuring your uClinux target, setting up NFS mounts, creating a new RAM filesystem and using a root NFS filesystem on your uClinux Target.

  • uClinux - Building gcc-2.95.3 m68k-elf for uClinuxAvailable in PDF
    Compiling the uClinux 2.4 kernel for m68k requires an upgrade of the development tools to m68k-elf. We detail how to building the tools with both an automatic script and manually, and then show how to call your new compiler with the advantages and disadvantages of each option.

  • uClinux - BFLT Binary Flat Format
    uClinux uses a Binary Flat format commonly known as bFLT. It has seen two major revisions, version 2 and more recently version 4. Find out just what makes it tick.

    AT Keyboards

  • Interfacing the PC's Keyboard As seen in Poptronics, July 2000
    IBM Keyboards. Not really an interesting topic, one would expect. So why would you want to interface the Keyboard? The IBM keyboard can be a cheap alternative to a keyboard on a Microprocessor development system. Or maybe you want a remote terminal, just couple it with a LCD Module. If so, then this page has all the required information to get you started.

  • 101 AT Keyboard to ASCII Decoder using 68HC705J1A MCU (Ideal Keyboard BIOS for Embedded Linux)
    An interfacing example for the AT keyboard is given showing the keyboard's protocols in action. This interfacing example uses a 68HC705J1A MCU to decode an IBM AT keyboard and output the ASCII equivalent of the key pressed at 9600 BPS. Includes Direct Decimal and Hexadecimal Enter Routines. Ideal companion to a microcontroller development system or embedded system.

    Windows Device Drivers (Windows NT/2000/XP and 98/ME WDM)

  • Device Driver Tools - Making your life easy
    Features three Device Driver Tools for making your life easier. Writing Device Drivers? Perhaps playing with Cypress Semiconductor's USB Starter Kit? If so, the Device Driver Fiddler allows you to test DeviceIOCommand() Calls before you write your User Mode Application. . . The Windows NT Device Driver Installer prevents making and testing of your newly written drivers a chore. It loads, unloads, starts and stops Windows NT Device Drivers. The Device Driver Remover, removes all traces of your device driver.

  • USB Driver for the Cypress USB Starter Kit
    One of the most helpful aids when first starting out in something new is examples. Cypress forgot this when they introduced their USB Starter Kit. But then for $99 U.S., you can’t expect the world. The USB Thermometer Driver and Application was developed under contract by System Solutions 72410.77@compuserve.com. The code is not freely available. What I have done is modified the WDM ISO USB driver distributed with the Windows Device Driver Kit for use with the Cypress Digital Themometer. I’ve kept it basically the same, so you can actually run the Digital Temperature Application on this driver to see that in-fact it does work!

    CMOS Image Sensors

  • CMOS Digital Image Sensors & Lenses
    Adding vision to your projects need not be difficult. Whether its machine vision for robot control or the sampling and storage of images for security, CMOS images sensors can offer many advantages over traditional CCD sensors. This article explores some of the CMOS image sensors and lenses / lens assemblies on the market. Add Image Capture to your uCLinux Systems.

    Miscellaneous

  • How does the Microchip ICD Work?
    The PIC16F877 was the first Microchip Microcontroller to have in-built debugging capabilities. The actual silicon area used for the debug facilities is tiny compared to the major peripherals. Microchip has keep the operation of the debug facilities pretty well under raps, however it doesn’t take much reading between the lines to work out how the actual debugging facilities are implemented. Also includes details on making your own ICD.

  • Ethernet & TCP/IP Interfaces
    Internet and ethernet connectivity is big business these days. We look at three options, including Seiko Instrument's award winning hardware TCP/IP stack, the uCSimm Embedded Ethernet Controller running Linux and Dallas Semiconductor's TINI Embedded Ethernet Controller running JAVA.

  • Trust-No-Exe
    Allow users to run trusted applications from defined directories, while preventing execution of non-trusted files from drives such as floppy disk and CDROM or from the users e-mail attachment directory. Stop viruses such as W32.Bugbear@mm in their tracks.

    Need Help? Got a Question?

    The interfacing discussion group can help with any problems you may have. Just join and then e-mail your questions to interfacing@yahoogroups.com Common questions may have already been answered in the Interfacing Discussion Group Archives.


    Google!



    Universal Serial Bus

  • USB in a Nutshell - Making sense of the USB standard Available in PDF
    USB in a Nutshell is a six part article detailing the Universal Serial Bus. It currently provides details on the connectors, electrical, suspend currents, speed identification, USB packet types, endpoints, pipes, endpoint/transfer types including Control, Interrupt, Isochronous and Bulk Transfers, USB descriptors including Device, Configuration, Interface, Endpoint and String descriptors, the USB Setup Packet and Standard Device, Standard Interface and Standard Endpoint Requests.
    Now includes an example - PDIUSBD11 connected to a PIC16F87x


  • USB1.1 Integrated Circuits
    We look at some of the USB1.1 Microcontrollers and I.C's on the market today along with some cheap yet nifty development boards. This includes the Cypress EZ-USB Family, Philip's PDIUSBD11, PDIUSBD12 & PDIUSBP11, FTDI's FT8U232AM and FT8U245AM, Motorola 68HC705JB3 & 68HC705JB4, National Semiconductor's USBN9602 and Microchip's PIC16C745 & PIC16C765 with links to the USB USB-IF Developers Discussion Forum and other informative sites.

  • USB 2 Integrated Circuits Updated with Development Boards
    USB 2.0 with a maximum speed of 480Mb/s is getting closer to reality. Detailed here are some of the more popular USB 2.0 silicon devices and a status on how Microsoft is going with their EHCI USB2 drivers for Windows XP and Windows 2000 operating systems.

  • USB Device Driver Development
    Provides information on where to find information for developing USB device drivers.

  • Win 2000/XP Driver for DeVaSys USBLPT-PD11 USB Boards
    DeVaSys has a USBLPT-PD11 USB development board based on the Philips PDIUSBD11 device which is connected to the PC's Parallel Port. This allows for firmware to be quickly developed on the PC with the advantage of rich debugging (printf statements) and quick compiling and testing over embedded processors. Once your design is done and tested, it's possible to change a header file enabling the code to be recompiled and downloaded to your USB device. We have written a Windows 2000/XP device driver allowing these boards to be used with Windows 2000 and Windows XP. The source code is provided for the driver and can also double as good example for Parallel Port drivers taking to ParPort.sys.

  • On-The-Go Supplement - Point-to-Point Connectivity for USB.
    The On-The-Go Supplement is a new tack on standard for USB allowing for the first time, USB Devices to talk to each other without the need for a "host". While the standard is still in its early days, we look at some of the features of OTG. Philips demonstrated aspects of OTG with their ISP1161 Full-speed Universal Serial Bus single-chip host and device controller. While it doesn’t fully comply to the OTG standard, it does make a wonderful Host Controller for embedded systems such as uClinux.

  • USB with the simplicity of RS-232
    FTDI has two USB Interface ICs, the FT8U232AM and FT8U245AM which takes the hassle out of USB. One provides a asychronous serial interface, while the other provides a byte wide FIFO with little need to worry about the underlying USB protocols and USB device drivers. Ideal if you are starting out in USB, or you want to quickly add USB to your devices.

  • The Philips PDIUSBD11 USB Peripheral with I2C Serial Interface.Available in PDF
    Philips has two USB devices which allows any microcontroller the ability to talk USB. However while the silicon has many features which others don't, the data sheets are a little light on content. In fact they miss some fundamental Initialisation routines needed to get the device working in the first place. This article gives a sample schematic and the answers to many questions kindly answered by two Philip's Engineers.

    Parallel Port Interfacing

  • Interfacing the Standard Parallel Port Available in PDF
    Describes interfacing the Standard Parallel Port (SPP). Includes a general introduction to Parallel Ports (SPP, EPP & ECP) and their standards. Looks at reading 8 bits of data using the bi-directional port, and using other methods such as reading a nibble at a time etc. Also details the Parallel Ports interrupts. Programming examples using C are included along with a detailed description of the Parallel Port's Registers.

  • Interfacing Example - 16 Character x 2 Line LCD
    This is the first interfacing example for the Parallel Port. This example shows connecting a 16 Character x 2 Line LCD module to the Standard Parallel Port (SPP.) Shows the use of the Parallel Port's Data and Control Ports.

  • Interfacing the Enhanced Parallel Port (EPP) Available in PDF
    Interfacing the Enhanced Parallel Port is the first page, out of the Parallel Port Series which has been revised. This page, devoted entirely to the EPP port, now includes waveforms plus a more detailed description of this Port.

  • Interfacing the Extended Capabilities Parallel Port (ECP) Available in PDF
    Interfacing the Extended Capabilities Parallel Port has just been revised. This page focuses on the Extended Capabilities Parallel Port (ECP), and now includes waveforms plus a more detailed description of this Port.

  • Parallel Port Debug Tool
    The Parallel Port Debug Tool is a handy DOS utility when debugging devices connected to the Parallel Port. It gives a visual display of the three software registers used by the Standard Parallel Port. Each individual bit can be turned on or off by a simple click of the mouse.

    RS-232 Interfacing

  • Interfacing the Serial Port - Parts 1 and 2 Available in PDF
    Explains the pin diagrams of the RS-232 Port and the 8250 & Compatible UARTs. Includes information on handshaking, Null Modems, DTE/DCE Speeds, flow control, types of UART's etc. The second part of this series gives details of the Serial Ports Registers for the PC (8250 to 16750 UARTs) and the Serial Port's Addresses in the PC.

  • Interfacing the Serial Ports - Parts 3 and 4
    Starts with example programs written in C, using both the Interrupt Driven and Polling methods for the PC. Gives details of how the programs work and how they can be changed to suit your requirements, i.e. Changing addresses, FIFO Buffers, IRQ's etc. It then gives details of interfacing your own projects to the RS-232 Port using MAX-232's, CDP6402 UART's and Micro-Controllers.







Copyright 1995-2002 Craig.Peacock@beyondlogic.org 22nd October 2002.