Extend Wiring/Process libraries to MinnowBoard Max
PAGE UNDER CONSTRUCTION.
This wiki page is to document the initial development process of this project. Most of the contents are without being tested in the concerned board.
This same page might evolve from simple idea page to complete documentation of this project.
Minnowboard:GSoC2015 Idea Page
The Wiring/Process combination often referred to generically as the "Arduino" style programming environment was originally extended to platforms such as the Galileo development platform running Linux. Extending this environment to MinnowBoard Max would provide a great platform for education and development.
Extending this program means Arduino users can start using the power of single board computer without putting any additional efforts as they will be working in a very familiar environment.
Contents
Initial development
The starting point of this project will be from the Intel Galileo's customized Arduino IDE (Source Code).
First task is to identify what might need to be changed in the source code to extend this environment to Minnowboard Max.
Things need to be changed
In Galileo Arduino IDE source, most of the changes are to be made in hardware --> arduino --> x86 directory. The x86 section is pretty generic, so we have to identify what sections are specifically geared towards Galileo. So it can be ported to Max.
Few of those sections are:
- variants
- cores
- libraries
First priority will be to define the pin mapping of minnowboard max, which are to be changed in 'variants' section and few sections of 'cores'.
'sysfs' section in cores(hardware --> arduino --> x86 --> cores --> arduino) might be changed according to GPIO sysfs interface of max.
TODO
- Set variants based on Calamiri lure
* 22 Gpios * 2pwm (mapped to most commonly used arduino pwm pins) * No pinmux initially * init function
- Sysfs file
* Functions to read and write from sys file for GPIOs
- Setup an environment to compile and execute the sketches
* Makefile from this -> to something like this
- Run the blink example
Intial Repository
- Status
* Variants added
Building the Arduino development environment from source
The instructions for building the Arduino development environment from source is available here.
Development tools required
Windows
- Cygwin
- Java JDK
- ant
Mac OS X
- Apple's Developer Tools
Linux
- Java SDK
- avr-libc
- gcc-avr
- gdb-avr
- g++
- make
- ant
Note : For intial days we can use Arduino makefile to compile and later we can develop a complete Arduino development environment .