| 30 | | |
| 31 | | The Make Controller Board is a powerful, flexible, and easy to use microcontroller, based on the Atmel ARM7 SAM7X256. |
| 32 | | It is designed to interface easily to additional circuitry in order to connect with the real world. |
| 33 | | |
| 34 | | The Make Controller Board can be plugged into into the Make Application Board which makes use of nearly all the |
| 35 | | devices on the Controller. Alternatively, it can be plugged into a piece of hardware of your creation. |
| | 29 | |
| | 30 | The Make Controller firmware API provides a simple software interface to the Make Controller. The main features |
| | 31 | include an \b OS (operating system), a full \b Ethernet system, a \b USB (virtual serial port) system, and many others. |
| | 32 | |
| | 33 | The \ref Core module provides the basic capabilities of the Controller and a variety of \ref Libraries provide |
| | 34 | additional functionality that can easily be added/removed based on the needs of a particular project. |
| 37 | | To jump right into browsing the API, click on \b Modules above. |
| | 36 | To jump right into browsing the entire API, click on \b Modules above. For general info, check the <a href="http://www.makingthings.com/documentation/tutorial/programming-the-make-controller-kit"> |
| | 37 | Programming the Make Controller</a> tutorial on the MakingThings site. |
| | 38 | |
| | 39 | \section Tools |
| | 40 | The easiest way to get started programming the Make Controller is with \b mcbuilder, a program that provides |
| | 41 | a simple development environment, compiler and uploader in a single download. Check the |
| | 42 | <a href="http://www.makingthings.com/resources/downloads">MakingThings download page</a> for details. |
| | 43 | |
| | 44 | Otherwise, programs for the Make Controller Kit can be built using the freely available ARM-flavored |
| | 45 | version of the GCC compiler, \b arm-elf-gcc. Many toolchains are available - OS X and Windows versions can |
| | 46 | be found on the <a href="http://www.makingthings.com/resources/downloads">MakingThings download page</a>. |
| | 47 | Other good options include: |
| | 48 | - GNU-ARM: http://www.gnuarm.com |
| | 49 | - WinARM (Windows-only): http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm |
| | 50 | - YAGARTO (Windows-only): http://www.yagarto.de |
| | 51 | |
| | 52 | To upload new firmware to your Make Controller, you have a few options: |
| | 53 | - Use \b mcbuilder (Make Controller Builder) or \b mchelper (Make Controller Helper), from <a href="http://www.makingthings.com/resources/downloads">MakingThings</a>. |
| | 54 | - Use \b sam7utils, a command line app: http://oss.tekno.us/sam7utils |
| | 55 | - Use a JTAG device. |
| | 56 | |
| | 57 | Rowley also provides a very good IDE for ARM7 projects called \b CrossWorks, which supports in-circuit debugging. There are single user |
| | 58 | licenses available. Check http://www.rowley.co.uk/arm/index.htm |
| 46 | | To ensure that the software environment for the Controller is consistent, regardless of the interface hardware, |
| 47 | | the code for the Controller Board has been kept separate from the code for the Application Board to make this as easy |
| 48 | | as possible: |
| 49 | | - The \ref Core module provides the core routines required for the Make Controller Board. |
| 50 | | - The \ref Libraries module provides routines that work with the Make Application Board, and are often based on or use |
| 51 | | code from the Core module. |
| 52 | | - The \ref OSC module provides a communication interface to the Make Controller Kit from other computers and devices. |
| 53 | | |
| 54 | | Software for the Make Controller Kit is open source, and thus subject to the licensing of each module of code. Be sure to acquaint |
| 55 | | yourself with the licenses for the main bodies of code in the Make Controller firmware codebase: |
| | 67 | This software is all open source, and thus subject to the licensing of each module |
| | 68 | of code. All MakingThings specific code is licensed under the Apache 2.0 license, which is quite flexible for |
| | 69 | both open source and commercial projects. Be sure to acquaint yourself with the licenses for the main |
| | 70 | bodies of code in the Make Controller firmware codebase: |
| 60 | | \section Tools |
| 61 | | The firmware for the Make Controller Kit can be built using the freely available ARM-flavored version of the GCC compiler, \b arm-elf-gcc. |
| 62 | | Many toolchains are available - OS X and Windows versions can be found on the MakingThings downloads page: http://www.makingthings.com/resources/downloads |
| 63 | | Other good options include: |
| 64 | | - GNU-ARM: http://www.gnuarm.com |
| 65 | | - WinARM (Windows-only): http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#winarm |
| 66 | | - YAGARTO (Windows-only): http://www.yagarto.de |
| 67 | | |
| 68 | | To upload new firmware to your Make Controller, you have a few options: |
| 69 | | - Use \b mchelper, Make Controller Helper, an app from MakingThings: http://www.makingthings.com/resources/downloads |
| 70 | | - Use \b sam7utils, a command line app: http://oss.tekno.us/sam7utils |
| 71 | | - Use a JTAG device. |
| 72 | | |
| 73 | | Rowley also provides a very good IDE for ARM7 projects called \b CrossWorks, which supports in-circuit debugging. There are single user |
| 74 | | licenses available. Check http://www.rowley.co.uk/arm/index.htm |
| 75 | | |