]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
A possible README.mkd for when this repo is made public.
authorR. Steve McKown <rsmckown@gmail.com>
Thu, 3 Dec 2009 02:55:59 +0000 (19:55 -0700)
committerR. Steve McKown <rsmckown@gmail.com>
Thu, 3 Dec 2009 02:55:59 +0000 (19:55 -0700)
This file would work with github, for example.

README.mkd [new file with mode: 0644]

diff --git a/README.mkd b/README.mkd
new file mode 100644 (file)
index 0000000..3024ea5
--- /dev/null
@@ -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.