Difference between revisions of "NXTMOTE"
(→Using the ''nescdt'' plugin for Eclipse) |
(→Using the ''nescdt'' plugin for Eclipse) |
||
Line 30: | Line 30: | ||
[[Image:Nxtmote-editor.jpg]] | [[Image:Nxtmote-editor.jpg]] | ||
[[Image:Nxtmote-editorsyntax.png]] | [[Image:Nxtmote-editorsyntax.png]] | ||
− | * Side note: If the CVS [http://www.eclipse.org/articles/Article-Decorators/decorators.html decorators] annoys you, then turn it off from '''Window->Preferences...->General->Appearance->Label Decorations''' | + | * Side note: If the CVS [http://www.eclipse.org/articles/Article-Decorators/decorators.html decorators] annoys you, then turn it off from '''Window->Preferences...->General->Appearance->Label Decorations'''. |
* Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the [http://download.eclipse.org/tools/cdt/releases/europa http://download.eclipse.org/tools/cdt/releases/europa] as a new ''Remote site'' in the Eclipse update manager and choose the CDT main plugin: | * Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the [http://download.eclipse.org/tools/cdt/releases/europa http://download.eclipse.org/tools/cdt/releases/europa] as a new ''Remote site'' in the Eclipse update manager and choose the CDT main plugin: | ||
[[Image:Nxtmote-cdtdownload.png]] | [[Image:Nxtmote-cdtdownload.png]] |
Revision as of 01:36, 14 April 2008
TinyOS is a small operating for small (wireless) sensors. LEGO MINDSTORMS NXT is a platform for embedded systems experimentation: The combination of NXT and TinyOS is NXTMOTE.
Contents
Getting started
A good place to start is the AT91SAM7] PDF. It contains register definitions and provides an overview of the ARM7 processor in NXT.
To understand the software provided by LEGO one should download it from the LEGO website. LEGO's own software for NXT is based on a small virtual machine. Furthermore, inside the operating system there are a number of modules which are updated in a round robin fashion each one ms.
After having read the hardware specification and the PDF documents that comes with the LEGO software it is time to look at the NXTMOTE software. This platform aims to do provide both the LEGO software wrapped in nesC for compatibility and completeness reasons and also expose a set of API components (HPL, HAL, and HIL) providing access to the expected TinyOS functionality on this platform.
You also need a MINDSTORMS set and for educational purposes the LEGO® MINDSTORMS® Education Base Set is best. An equally fine option is to buy a MINDSTORMS set from a local store.
Using the nescdt plugin for Eclipse
A basic plugin for Eclipse that shows the .nc file type: ie. interface, (generic) module, or (generic) configuration. The same symbols are used as in nesdoc. It also does some syntax highlighting. The source is included in the jar file, and it is possible to refine it. To install the plugin:
- Download the nescdt_0.0.3.jar file [here]
- Save it in the root of Eclipse plugin directory (where the other (jar) plugins also reside)
- Restart Eclipse (perhaps verify for yourself that it is installed: Help->About Eclipse SDK->Plug-in Details)
- Associate the *.nc files with this editor: Windows->Preferences->General->Editors->File Associations
- Create a new empty project and name it what you want to (for example tosproj)
- Create a new folder in the project (right-click on the project) and name it what you want (recommended to name it to the folder name that we will link to in the next step)
- Import and link to the part of the TinyOS tree or your own code(right-click and press import)
- Choose the Link to folder in the file system option and proceed (this will not change your TinyOS code at all and it will not copy any files on your computer)
- When you are done the Eclipse IDE could look something like (note that the content of the files have been analyzed and that the icon reveals that we have some modules, generic modules, configurations and interface files here):
- Side note: If the CVS decorators annoys you, then turn it off from Window->Preferences...->General->Appearance->Label Decorations.
- Another side note: You can also download the CDT plugin for editing the header files and c files in Eclipse. Enter the http://download.eclipse.org/tools/cdt/releases/europa as a new Remote site in the Eclipse update manager and choose the CDT main plugin:
Setting up the host
There is a tutorial available the outlines some options for setting you machine. A nice utility called fwflash enables direct download of a nxtmote.bin image using the USB cable that comes with NXT.
Further information
The NXTMOTE project web site has additional information (like CVS browsing and nesdoc html). The project is (like most other projects in tinyos-2.x-contrib) classified as experimental...but you are welcome to send a help request to nxtmote(at)gmail.com.
Back to the TinyOS Documentation Wiki main page.