Extend Wiring/Process libraries to MinnowBoard Max
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.
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:
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.
- 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
* 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
- Java JDK
Mac OS X
- Apple's Developer Tools
- Java SDK
Note : For intial days we can use Arduino makefile to compile and later we can develop a complete Arduino development environment .