XGrid Readme
1. Introduction
XGrid is a grid computing platform for the Atmel AVR XMEGA series of processors. XGrid supports USART based message passing in packet format and can use the XBoot API to support online firmware updates of the entire network. XGrid also contains a cross-platform management application for use in managing and debugging the application.
1.1 Compatibility List
XGrid should be compatible with all XMEGA processors. Using the online firmware update feature requires that the application be no larger than half of the application flash, however, so please choose a large enough chip. Also, XGrid tends to require a rather large amount of RAM for buffers, so it is only recommended for use with chips with at least 8K of SRAM. As XGrid uses the hardware USART modules for networking, a minimum of five is suggested for a square grid (four for networking and one for debug) and seven for a hexagonal grid (six for networking and one for debug). For this reason, the D and B series are not recommended as these devices have fewer hardware USART modules. An asterisk denotes that the MCU has been tested and confirmed XGrid compatible.
Note that it may be possible to use XGrid on ATMEGA processors, though with only two USARTS, the networking abilities will be very limited.
- XMEGA
- atxmega16a4 (2k SRAM, 5 USARTs)
- atxmega32a4 (4k SRAM, 5 USARTs)
- atxmega64a1 (4k SRAM, 8 USARTs)
- atxmega64a3 (4k SRAM, 7 USARTs)
- atxmega64a4 (4k SRAM, 5 USARTs)
- atxmega128a1 (8k SRAM, 8 USARTs)
- atxmega128a3 (8k SRAM, 7 USARTs) *
- atxmega128a4 (8k SRAM, 5 USARTs)
- atxmega192a1 (16k SRAM, 8 USARTs)
- atxmega192a3 (16k SRAM, 5 USARTs)
- atxmega256a1 (16k SRAM, 8 USARTs)
- atxmega256a3b (16k SRAM, 7 USARTs)
- atxmega256a3 (16k SRAM, 7 USARTs)
- atxmega16d4 (2k SRAM, 2 USARTs)
- atxmega32d4 (4k SRAM, 2 USARTs)
- atxmega64d3 (4k SRAM, 3 USARTs)
- atxmega64d4 (4k SRAM, 2 USARTs)
- atxmega128d3 (8k SRAM, 3 USARTs)
- atxmega128d4 (8k SRAM, 2 USARTs)
- atxmega192d3 (16k SRAM, 3 USARTs)
- atxmega256d3 (16k SRAM, 3 USARTs)
- atxmega16a4u (2k SRAM, 5 USARTs)
- atxmega32a4u (4k SRAM, 5 USARTs)
- atxmega64a3u (4k SRAM, 7 USARTs)
- atxmega64a4u (4k SRAM, 5 USARTs)
- atxmega128a3u (8k SRAM, 7 USARTs)
- atxmega128a4u (8k SRAM, 5 USARTs)
- atxmega192a3u (16k SRAM, 7 USARTs)
- atxmega256a3u (16k SRAM, 7 USARTs)
- atxmega256a3bu (16k SRAM, 7 USARTs)
- atxmega64b1 (4k SRAM, 2 USARTs)
- atxmega64b3 (4k SRAM, 1 USART)
- atxmega128b1 (8k SRAM, 2 USARTs)
- atxmega128b3 (8k SRAM, 1 USART)
2. Building XGrid
XGrid is designed to be built with the avr-gcc toolchain.
2.1 Building XGrid in Linux
2.1.1 Requirements
- binutils-avr
- avr-gcc
- libc-avr
- avrdude
2.1.2 Procedure
- Install required packages
- Edit makefile for device and programmer settings
Build
$ make
Program
$ make program
2.2 Building XGrid in Windows
2.2.1 Requirements
- binutils-avr
- avr-gcc
- libc-avr
- avrdude
2.2.2 Procedure
- Install software
- Install WinAVR from http://sourceforge.net/projects/winavr/files/WinAVR/
- Edit makefile for device and programmer settings
Build
> make
Program
> make program
3. Building XGrid Manager
3.1 Building XGrid Manager in Linux
3.1.1 Requirements
- gtkmm >= 2.28.0
3.1.2 Procedure
- Install required packages
If no configure script present, run bootstrap
$ ./bootstrap
Run configure script
$ ./configure
Build
$ make
Install
$ make install
3.2 Building XGrid Manager in Windows
3.2.1 Requirements
- mingw
- msys
- gtkmm >= 2.22.0
3.2.2 Procedure
- Install MinGW, MSYS, and gtkmm
- Install MinGW and MSYS
- Install C compiler, C++ compiler, MSYS, and Developer Toolkit
- Add MinGW and MSYS directories to path
- (Windows 7) Right click on Computer → Properties, click Advanced System Settings
- (Other) Right cick on Computer → Properties
- (All) On Advanced tab, select Environment Variables
- Under user variables, select PATH and click Edit. If PATH does not exist, click New, enter PATH for name, and omit leading semicolon in next step.
- Add ;C:\MinGW\bin;C:\MinGW\msys\1.0\bin to the end of value
- Click OK x3
- Open a command prompt, type bash and hit enter. You should see: bash-3.1 cd /path/to/software
</code>
If no configure script present, run bootstrap
$ ./bootstrap
Run configure script
$ ./configure
Build
$ make
Install
$ make install