From 81c42b68edcbbb7dc154893316c236c8216a49bb Mon Sep 17 00:00:00 2001 From: "R. Steve McKown" Date: Wed, 2 Dec 2009 19:55:59 -0700 Subject: [PATCH] A possible README.mkd for when this repo is made public. This file would work with github, for example. --- README.mkd | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 README.mkd diff --git a/README.mkd b/README.mkd new file mode 100644 index 00000000..3024ea58 --- /dev/null +++ b/README.mkd @@ -0,0 +1,129 @@ +TMI TinyOS Repository +===================== + +What is TinyOS +-------------- + +TinyOS is a software development framework for building space and time +efficient applications for deeply embedded systems, including wireless +sensor networks. Some useful links: + +* [TinyOS Home Page](http://www.tinyos.net) +* [TinyOS Documentation Wiki](http://docs.tinyos.net) + +Who is TMI +---------- + +Titanium Mirror, Inc. (TMI) is a software development conmpany specializing +in computer network security, low power data acquisition, and highly available +systems development. See our [Home Page](http://titaniummirror.com) for more +information about our network security appliances. Contact us through the +website to learn more about our embedded systems expertise. + +TMI's TinyOS Tree +----------------- + +This repository tracks the official TinyOS 2.x development, and incorporates +TMI's contributed code providing various enhancements for msp430 based target +systems. TMI's code base is actively developed, and targeted to the current +release of TinyOS. Enough information is provided in this repository to +cherry pick features for your own TinyOS development, to use the TMI framework +complete. A focus is placed on stability, as this framework is the core for +our own development efforts. + +Features in the TMI repository include: + +* Support for newer MSP430 chipsets, such as the MSP430F2617. The TMI tree + requires a newer mspgcc v3.2.3 compiler; see below for more information. + +* An implementation for TI's USCI peripheral, used on newer MSP430 + microprocessors in place of the older USART peripheral. This USCI + implementation supports RS-232 and SPI communication, with future planned + support for I2C. + +* Support for the newer basic clock + peripheral, and including a simpler + clock framework for easily configuring an msp430 target for clock speeds + other than the TinyOS 2.x default of 4MHz. + +* Support for a number of other hardware components, such as: + * Silicon Labs cp2103 USB/serial adapter + * Texas Instruments BQ2403x charge controller + * VTI SCP1000-D01 barometric pressure sensor + +* A modularized programming tool for msp430, tos-bsl, which allows for simple + expansion to new target device types. TMI has incorporated a module for + targeting devices using the Silicon Labs cp2103 USB/Serial adapter chip for + communications with a PC, including programming of the target microprocessor. + +* TMI is also soon to release two low power msp430-based embedded targets for + use in a variety of data acquisition, robotics, and other applications. + Support for these targets is also present within the TMI TinyOS tree. + +Using TMI's Ubuntu Packages +=========================== + +TMI will soon be releasing its version of msp430 compiler tools, TinyOS tools, +and our TinyOS source tree via Ubuntu Debian packages available on Launchpad. +TMI manages infrastructure in-house to package for our internal developers, +who run Ubuntu versions Hardy and Karmic on both 32-bit and 64-bit x86 systems. +When we release a public apt archive via a Launchpad PPA, other users of Ubuntu +derived operating systems will be able to easily install and keep up to date +their TinyOS development tools. Stay tuned! + + +The Repository Structure +======================== + +The structure of TMI's TinyOS git repository is a bit complex. Here are the +highlights: + +* The TMI repository slowly tracks all changes from the official TinyOS CVS + repository in its branch __upstream__. + +* CVS tags for released versios of TinyOS are replicated in the TMI repository. + For example, the CVS tag for release 2.1.0 is __release_tinyos_2_1_0_0__. + For auditability, the CVS release tags are imported into the TMI repo + unchanged. + +* Because of the differences between CVS and git's handling of tags, a checkout + of a CVS tag from git can provide different code than the same tag checked + out from CVS. This happened with __release_tinyos_2_1_0_0__ as an example. + The TMI tree resolves this by also posting a second tag for each release, of + the form tinyos/version, to which the actual CVS checkout is posted. For + example, the 2.1.0 git release tag is __tinyos/2.1.0__. + +* New development is done on the __master__ branch, which is merged to the + the latest official TinyOS release shortly after its release. + +* Periodically, TMI will release its custom code, based off the most recent + official TinyOS release. This is done by committing changes from branch to + a release branch of the form release/vrsion. The release branch for + TinyOS 2.1.0 is __release/2.1.0__. As each new version of TMI code is posted + to the branch, it is tagged. For example, version 2 of the TMI code on the + 2.1.0 TinyOS release is tagged __release/2.1.0/2__. + +* Many of TMI's enhancements we consider generally useful, and we strive to + get these changes considered for incorporation into the official TinyOS + tree. Therefore, the repository will contain patchset tags, each tagging + the head of a series of patches representing an uncluttered and clean + view of the TMI enhancements. Patchset tags take the form + patchset/tosver/tmiver, where tosver is the upstream TinyOS version and + tmiver is the TMI code version. For example, patches for TMI code version 2 + against the TinyOS 2.1.0 release is tagged __patchset/2.1.0/2__. When + we rebase a patchset against the upstream head, we use a datecode for tosver. + So patchset version 2 against the TinyOS tree as seen at midnight on 11/30/09 + would be tagged __patchset/20091130/2__. + +Submitting Enhancements +======================= + +You may submit changes back to this tree via e-mail or via a publicly +accessible git repository. Simply track our master branch and rebase any +changes you publish against it. + +License +======= + +All of TMI's source code is licensed per the BSD style license used by the +upstream TinyOS repository. Certain files imported from upstream may use other +licenses or offer secondary licenses. Check the individual files for details. -- 2.39.2