PSAS/ LPC2148Software/ USBStackChoices
  1. Background
  2. USB stack Options
    1. The eCos option
      1. Advantages
      2. Disadvantages
    2. The Linux Gadget framework option
      1. Advantages
      2. Disadvantages
    3. LPCUSB
      1. Advantages
      2. Disadvantages
  3. Conclusions

Background

The LPC2148 must run software to transmit messages across the USB. Ideally, the USB stack would have the following properties:

There are three open-source options: the eCos USB interface, the Linux USB Gadget interface, and the LPCUSB library.

USB stack Options

The eCos option

eCos (an open source real-time operating system) has already been ported to the LPC2148. eCos has a built-in USB API that a developer can implement for a specific microprocessor.

Advantages

Disadvantages

The Linux Gadget framework option

We could port the Linux USB stack to eCos.

Advantages

Disadvantages

LPCUSB

We could also modify an open source USB stack written specifically for the LPC2148.

Advantages

Disadvantages

Conclusions

While the Linux gadget framework is widely used, the license issues and amount of work to strip down the library makes it unattractive. The eCos USB API has structural flaws (such as no queueing) that also make it unattractive. The LPCUSB stack provides the most flexibility and much of the hardware specific code is already written.