Electrum 100 - User space examples                          Jan-2011
----------------------------------
These code examples will help you get started with your user space
applications on the Micromint Electrum. Our support staff
(support@micromint.com) can assist you with questions on specific
functions.

Since Linux implements virtual memory, there is no direct access to
processor registers. One popular alternative to access processor
registers in user space is to open a handle to /dev/mem and then
use mmap() to map a virtual memory address to a physical memory
address. These examples use this approach to access processor registers.
The peripheral code is adapted from the Atmel AT91 Softpack library.

  adc       - Tests processor ADCs
  blinky    - Blinks user LED
  button    - Uses button to set LED
  hello     - Simple console output
  littlec   - Little C interpreter
  minibasic - Simple BASIC interpreter
  spi_adc   - Tests SPI ADCs (requires I/O Option)
  spi_dac   - Tests SPI DACs (requires I/O Option)

The default compiler is the EmDebian cross-compiler. To choose another
compiler set the COMPILER variable on the Makefile.

#   On-board gcc       COMPILER=gcc
#   EmDebian (default) COMPILER=emdebian
#   Sourcery G++ Lite  COMPILER=sourcerygxx

Interrupt handlers and other applications that require full control
of timing or preemption should implement device drivers or modules in
kernel space. The Linux Device Drivers (LDD) book covers most concepts
required for device driver development. Note that a free online version
of the LDD book is available. The kernel source code also contains
device drivers for Atmel processors. 

http://lwn.net/Kernel/LDD3/
http://wiki.micromint.com/index.php/Electrum_Documentation#Software_Updates

