==== Software Description ==== [[TOC(Hardware,Hardware/jCM, Hardware/jCM/cCM2*, depth=5 )]] ===== Documentation ===== This wiki holds all of the documentation associated with the CM2 software and its use. Version One of the CM2 will provide the following functionality. * well behaved ARPer * DHCP clientage * telnet gateway to serial port (connected to serial console of host computer) * RESTful web service for host control Future versions will aim at the following additional features. * automated firmware update * peripheral device support ===== Libraries ===== ====== newlib ====== Routines with entry points referenced by the GCC compiler, such as the ones for integer division, are provided by newlib, a library designed just for this sort of purpose. Impact on the size of the executeable from newlib is minimized. Newlib source is used unmodified, and not incorporated into the CM2 source repository. ====== STR71X Library ====== The [attachment:10780.pdf ST's firmware library] is used for integrated peripheral management. We have made light modifications to ensure it works perfectly with GCC or other fully C99 compliant compilers. The source is included with the rest of the CM2 repository. ====== STR7XX Flash Programming Library ====== [attachment:FlashProgramming.pdf internal flash programming library] ====== TCP/IP Library ====== We are using [http://www.sics.se/~adam/uip/index.php/Main_Page uIP TCP/IP stack] developed by Adam Dunkels. Significant modifications have been made to the upstream uIP library to get it to support multiple protocols at the application layer. Source to this library is also include in the CM2 source repository. ===== Source Code ===== {{{ $ svn co http://svn.orbit-lab.org/svn/orbit/CM2/trunk }}} ===== Testing ===== There is currently no testing code or data associated with the CM2. As this improves, it should be stored in the SVN repository with the source code, and integrated with configuration and build scripts there.