Difference between revisions of "MansOS"

From DiLab
Jump to: navigation, search
 
(27 intermediate revisions by 3 users not shown)
Line 10: Line 10:




<big>
''MansOS = Mobile agent netted sensor Operating System''.
''MansOS = Mobile agent netted sensor Operating System''.
</big>


MansOS is an operating system for wireless sensor networks and netted embedded systems. It is designed for users familiar with C programming and Unix-like environment. MansOS supports various platforms and controllers, including TelosB and MSP430, Atmega controllers and Arduino, and others. Users may develop and test their systems on a PC as a virtual "mote".
MansOS is an operating system for wireless sensor networks and netted embedded systems. It is designed for users familiar with C programming and Unix-like environment. MansOS supports various platforms and controllers, including TelosB and MSP430, Atmega controllers and Arduino, and others. Users may develop and test their systems on a PC as a virtual "mote".

<big>
'''The new MansOS homepage and git repository''' is at [https://github.com/edi-riga/MansOS/wiki GitHub]
</big>

The information below is outdated. Please read the [https://github.com/edi-riga/MansOS/wiki wiki at github].

----



=== General information===
=== General information===
Line 19: Line 30:
* [[MansOS_Philosophy | Philosophy]]
* [[MansOS_Philosophy | Philosophy]]
* [[MansOS_Architecture | Architecture]]
* [[MansOS_Architecture | Architecture]]
* [[MansOS features]] - a simple list of features supported by MansOS
* [[MansOS tutorial]]
* [[Declarative programming with MansOS]]
* [[MansOS_API | API]] - reference manual/wiki


=== Access (Download) ===


* [[Installing MansOS]]
=== Installing MansOS ===

MansOS GitHub link is at [http://mansos.net mansos.net]. From there you can download or pull the MansOS repository with all the sources and support tools. The Wiki there will help you to get started:
* How to setup the MansOS and related toolchains
* A few tutorials
* A reference to the main components.

Here is some information about the older versions [[Installing MansOS]].

=== Development with MansOS - tools and techniques ===

* [[MansOS tutorial]]
* [[MansOS tutorial]]
* [[Building MansOS | MansOS building]] - more detailed description of make targets.
* [[Building MansOS]] - description of make targets.
* [[MansOS configuration options]] - configuration file syntax and options.
* [[MansOS configuration options]] - configuration file syntax and options.
* [[MansOS_Platforms | MansOS platforms]] - List of supported platforms and platform specific notes, e.g.:
* [[MansOS_Platforms | MansOS platforms]] - List of supported platforms and platform specific notes, e.g.:
Line 31: Line 55:
** where is the particular executable built
** where is the particular executable built
** what options are available for this platform
** what options are available for this platform
* [[MansOS_API | MansOS API]]

* [[MansOS IDE]]

* MansOS SVN quick access
** Read-only access is open to public. For example, to get the whole MansOS tree in the current-directory/mansos do this:
svn co http://mansos.net/svn/mansos/ mansos
** Read-write access is open to authenticated developers via svn+ssh.
svn co svn+ssh://yourloginname@mansos.net/svn/mansos mansos

* [[MansOS_Trac | TRAC - Bug tracking and task lists]]: http://mansos.net/trac/mansos

=== Development with MansOS - tools and techniques ===

* MansOS [http://jupiter.cs.fmf.lu.lv/~kursi/bst/mansos/MansOS-API.pdf API (pdf)]
* [[MansOS_Apps_examples | Application examples]]
* [[MansOS_Apps_examples | Application examples]]
* [[MansOS_Makefiles | Setting up and using Makefiles]]
* [[MansOS_Makefiles | Setting up and using Makefiles]]
Line 49: Line 62:
* [[MansOS_IAR | Compiling MansOS with IAR Embedded Workbench]]
* [[MansOS_IAR | Compiling MansOS with IAR Embedded Workbench]]
* [[MansOS_Testing | Debugging and testing]]
* [[MansOS_Testing | Debugging and testing]]
* [[MansOS_PC_Emulation | Mote network emulation on PC]]
* [[MansOS_FAQ | FAQ]]
* [[MansOS_FAQ | FAQ]]


=== Developing the MansOS - notes ===
=== Developing the MansOS - notes ===


* [[MansOS_API | API]] (proposed)
* [[MansOS_Directory_Structure | Source directory structure]]
* [[MansOS_Directory_Structure | Source directory structure]]
* [[MansOS_Coding_Standard | Coding standard]]
* [[MansOS_Coding_Standard | Coding standard]]
* [[MansOS_new_platform | Adapting a new hardware platform]]
* [[MansOS_new_platform | Adapting a new hardware platform]]
* Future developments - [[MansOS_Ref | Reference Guide]] for a simpler interface
* Future developments - [[MansOS_Ref | Reference Guide]] for a simpler interface

=== Internals ===

* [[MansOS_Sources | Source code]]
* [[MansOS_Kernel | Kernel]]
* [[MansOS_File_System | File system]]
* [[MansOS_TODO | Todo]]



=== Hardware notes ===
=== Hardware notes ===
Line 79: Line 84:
Platforms
Platforms
* [[MansOS_Platforms | Supported platforms]], such as telosb, Tmote Sky, Mini, Arduino, generic msp430, Atmel chips, etc.
* [[MansOS_Platforms | Supported platforms]], such as telosb, Tmote Sky, Mini, Arduino, generic msp430, Atmel chips, etc.



=== Related publications and papers ===
=== Related publications and papers ===

* G. Strazdins, L. Selavo, [http://www.bjmc.lu.lv/fileadmin/user_upload/lu_portal/projekti/bjmc/Contents/2_2_4_Strazdins_a.pdf "Wireless Sensor Network Software Design Rules"], Baltic Journal of Modern Computing, VOL. 2(2014) NO. 2, 2014.

* G. Strazdins, A. Elsts, K. Nesenbergs, L. Selavo, [http://www.mdpi.com/2224-2708/2/3/509 "Wireless Sensor Network Operating System Design Rules Based on Real-World Deployment Survey"], Journal of Sensor and Actuator Networks. 2013; 2(3):509-556.

* A. Elsts, J. Judvaitis, L. Selavo, "SEAL: A Domain-Specific Language for Novice Wireless Sensor Network Programmers," Software Engineering and Advanced Applications (SEAA), 2013 39th EUROMICRO Conference on , vol., no., pp.220,227, 4-6 Sept. 2013.

* A. Elsts, G. Strazdins, A. Vihrov, L. Selavo, "Design and Implementation of MansOS: a Wireless Sensor Network Operating System," Scientific Papers, University of Latvia, volume 787, pp 79–105, 2012.

* A. Elsts, L. Selavo, "A User-Centric Approach to Wireless Sensor Network Programming Languages." In SESENA ’12: Proceedings of the 3rd Workshop on Software Engineering for Sensor Network Applications, pages 29–30, New York, NY, USA, 2012.

* G. Strazdins, A. Elsts, L. Selavo. "Mansos: easy to use, portable and resource efficient operating system for networked embedded devices." Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems. ACM, 2010. [http://www.researchgate.net/profile/Atis_Elsts/publication/221091501_MansOS_easy_to_use_portable_and_resource_efficient_operating_system_for_networked_embedded_devices/links/0046352c6d0f4b8867000000.pdf (pdf)]

* [http://www.liteos.net LiteOS], the original OS from which MansOS branched


* [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1462006 Flexible Hardware abstraction] describing the HPL - HAL - HIL architecture
* [http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1462006 Flexible Hardware abstraction] describing the HPL - HAL - HIL architecture
* [http://www.liteos.net/docs/IPSN_2008.pdf LiteOS paper], the original OS from which MansOS branched
* [http://portal.acm.org/citation.cfm?id=1870057 MansOS poster abstract] presented at Sensys 2010

Latest revision as of 22:48, 2 February 2023

Qr mansos-net-s.png

MansOS.net QR code

MansOS Logo
MansOS Logo


MansOS = Mobile agent netted sensor Operating System.

MansOS is an operating system for wireless sensor networks and netted embedded systems. It is designed for users familiar with C programming and Unix-like environment. MansOS supports various platforms and controllers, including TelosB and MSP430, Atmega controllers and Arduino, and others. Users may develop and test their systems on a PC as a virtual "mote".

The new MansOS homepage and git repository is at GitHub

The information below is outdated. Please read the wiki at github.



General information


Installing MansOS

MansOS GitHub link is at mansos.net. From there you can download or pull the MansOS repository with all the sources and support tools. The Wiki there will help you to get started:

  • How to setup the MansOS and related toolchains
  • A few tutorials
  • A reference to the main components.

Here is some information about the older versions Installing MansOS.

Development with MansOS - tools and techniques

Developing the MansOS - notes

Hardware notes

  • An Ideal_mote should... | would have... (notes for future HW designs)

Chips

Platforms


Related publications and papers

  • A. Elsts, J. Judvaitis, L. Selavo, "SEAL: A Domain-Specific Language for Novice Wireless Sensor Network Programmers," Software Engineering and Advanced Applications (SEAA), 2013 39th EUROMICRO Conference on , vol., no., pp.220,227, 4-6 Sept. 2013.
  • A. Elsts, G. Strazdins, A. Vihrov, L. Selavo, "Design and Implementation of MansOS: a Wireless Sensor Network Operating System," Scientific Papers, University of Latvia, volume 787, pp 79–105, 2012.
  • A. Elsts, L. Selavo, "A User-Centric Approach to Wireless Sensor Network Programming Languages." In SESENA ’12: Proceedings of the 3rd Workshop on Software Engineering for Sensor Network Applications, pages 29–30, New York, NY, USA, 2012.
  • G. Strazdins, A. Elsts, L. Selavo. "Mansos: easy to use, portable and resource efficient operating system for networked embedded devices." Proceedings of the 8th ACM Conference on Embedded Networked Sensor Systems. ACM, 2010. (pdf)
  • LiteOS, the original OS from which MansOS branched