Operating the EDDA-Chip with an embedded Linux Computer

The EDDA-Chip was first operated with software developed under MS-Windows. But as Windows needs a graphics card to operate and the aim of the project is to have a portable computer with low power consumption without a graphical display, it was decided to use Linux as an OS. Linux allows to cut the needed hardware down to a minimum. It also is scalable to fit on a small Flash-HD.

Problems:

  • parts of the software had to be ported from Windows to Linux
  • a Kernel driver had to be developed (the WinDriver toolkit was used to develop a driver under Windows which should be code compatible with Linux but doesn't support the required chain-list DMA under Linux)

Solutions:

  • Some routines were newly implemented to provide compatibility with Borland C++.
  • Several macro definitions were included in the source so it can be compiled on Windows and Linux
  • The Standard Template Library (STL) was patched as the one currently used by the gcc doesn't support the 'at()' method for the class 'vector'.
  • A Kernel module was written to provide the DMA routines missing in WinDriver.
  • The WinDriver source was patched to use the new DMA routines