Electrum Examples
From Manuals
These code examples will help you get started with your user space applications on the Micromint Electrum. A zip file of the examples can be downloaded from the Software Updates section of the Electrum Wiki. 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.
The default compiler is the EmDebian cross-compiler. For details on the toolchain installation, please refer to the manual. You can choose another compiler by specifying a COMPILER variable in the Makefile.
# On-board gcc COMPILER=gcc # EmDebian (default) COMPILER=emdebian # Sourcery G++ Lite COMPILER=sourcerygxx
| Example | Description | Electrum 100 |
|---|---|---|
| adc | Test 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 | Test SPI ADCs (requires I/O option) | |
| spi_dac | Test SPI DACs (requires I/O option) | |
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.
