<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://andromeda.df.lu.lv/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samofals</id>
	<title>DiLab - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://andromeda.df.lu.lv/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samofals"/>
	<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php/Special:Contributions/Samofals"/>
	<updated>2026-05-05T10:01:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_Makefiles&amp;diff=37</id>
		<title>MansOS Makefiles</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_Makefiles&amp;diff=37"/>
		<updated>2008-04-02T06:42:40Z</updated>

		<summary type="html">&lt;p&gt;Samofals: /* Creating the application Makefile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;MansOS&amp;#039;&amp;#039;&amp;#039; has a makefile system to speed up the development of&lt;br /&gt;
your applications and the development of MansOS itself&lt;br /&gt;
&lt;br /&gt;
== For application developers ==&lt;br /&gt;
==== Running the make ====&lt;br /&gt;
&lt;br /&gt;
The common targets of the makefile are as follows:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;build&amp;#039;&amp;#039;&amp;#039; - (optional, default) build the module or application&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;upload&amp;#039;&amp;#039;&amp;#039; - upload the application via hard wire (USB or COM). Make will upload to the first attached mote it finds.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;target&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - targed platform, such as &amp;#039;&amp;#039;&amp;#039;telosb&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;clean&amp;#039;&amp;#039;&amp;#039; - clear the generated object and other files.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;cleanall&amp;#039;&amp;#039;&amp;#039; - clear everything from the output (build/) directory&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;objs&amp;#039;&amp;#039;&amp;#039; - compile only, generate all object files&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;printenv&amp;#039;&amp;#039;&amp;#039; - print the major variables (for debugging make)&lt;br /&gt;
&lt;br /&gt;
For example, if you want to build your system and then upload it to the telos mote:&lt;br /&gt;
  make telosb&lt;br /&gt;
  make telosb upload&lt;br /&gt;
&lt;br /&gt;
==== Creating the application Makefile ====&lt;br /&gt;
&lt;br /&gt;
You need just one Makefile in your project directory. &lt;br /&gt;
Examples can be found in the apps directory.&lt;br /&gt;
This makefile must define the following variables:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SOURCES&amp;#039;&amp;#039;&amp;#039; - a space-delimited list of source (.c) files. It is assumed that the include files reside in the same directory&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MODULE&amp;#039;&amp;#039;&amp;#039; - the module name being developed. This could be the application name.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PROJDIR&amp;#039;&amp;#039;&amp;#039; - most likely the current directory $(CURDIR) containing the application files.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
  # My makefile&lt;br /&gt;
  SOURCES = main.c&lt;br /&gt;
  MODULE = MySystem&lt;br /&gt;
  PROJDIR = $(CURDIR)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Optional:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;INCLUDES&amp;#039;&amp;#039;&amp;#039; - space-delimited list of include file directories. The project directory itself is included by default.&lt;br /&gt;
&lt;br /&gt;
The makefile must end with the definition of path to MansOS system MOSROOT and include of the main MansOS Makefile, like this:&lt;br /&gt;
&lt;br /&gt;
  ifndef MOSROOT&lt;br /&gt;
    MOSROOT = /home/elo/c/elo/WSN/projects/MansOS/svn&lt;br /&gt;
  endif&lt;br /&gt;
  &lt;br /&gt;
  # Include the main makefile&lt;br /&gt;
  include ${MOSROOT}/mos/make/Makefile&lt;br /&gt;
&lt;br /&gt;
Another way to setup MOSROOT, is to write in bash before executing make: &lt;br /&gt;
   export MOSROOT=/home/raimonds/MansOS_Work&lt;br /&gt;
&lt;br /&gt;
== For MansOS developers ==&lt;br /&gt;
&lt;br /&gt;
Add path(s) to the source files in the platform makefile. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Makefile basics ==&lt;br /&gt;
&lt;br /&gt;
For a general info on how to work with makefiles look here:&lt;br /&gt;
&lt;br /&gt;
* [http://www.cs.cmu.edu/cgi-bin/info2www?(make.info)Top (make.info) at CMU]&lt;br /&gt;
&lt;br /&gt;
Here is an example of a makefile system for Java development:&lt;br /&gt;
&lt;br /&gt;
* [http://geosoft.no/development/javamake.html Javamake at Geosoft]&lt;/div&gt;</summary>
		<author><name>Samofals</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_FAQ&amp;diff=29</id>
		<title>MansOS FAQ</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS_FAQ&amp;diff=29"/>
		<updated>2008-03-27T20:05:29Z</updated>

		<summary type="html">&lt;p&gt;Samofals: New page: &amp;#039;&amp;#039;&amp;#039;Q: Ubuntu vidē mote pēc laika atslēdzas no /dev/ttyUSB0 , un palaižot motelist mēs redzam, ka CommPort ir none&amp;#039;&amp;#039;&amp;#039;     $ motelist     Reference  CommPort   Description     ---------...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Q: Ubuntu vidē mote pēc laika atslēdzas no /dev/ttyUSB0 , un palaižot motelist mēs redzam, ka CommPort ir none&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
    $ motelist&lt;br /&gt;
    Reference  CommPort   Description&lt;br /&gt;
    ---------- ---------- ----------------------------------------&lt;br /&gt;
    UCC89MXV   (none)       Telos (Rev B 2004-09-27)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;A: Jānoņem(jāatinstalē) brltty &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   sudo apt-get remove brltty&lt;br /&gt;
&lt;br /&gt;
Informācija ņemta no šejienes: http://mail.millennium.berkeley.edu/pipermail/tinyos-devel/2007-June/001669.html&lt;br /&gt;
&lt;br /&gt;
   Thought that folks might find this useful.&lt;br /&gt;
    &lt;br /&gt;
   Some may have noticed that Ubuntu Feisty Fawn has problems talking to&lt;br /&gt;
   TMote Sky nodes. The problem is that the Braille TTY driver wants to&lt;br /&gt;
   claim any device with the FTDI USB chipset. The fix is to run:&lt;br /&gt;
   &lt;br /&gt;
   sudo apt-get remove brltty&lt;br /&gt;
   &lt;br /&gt;
   Which clears this out and removes the dependencies.&lt;br /&gt;
   &lt;br /&gt;
   Matt&lt;/div&gt;</summary>
		<author><name>Samofals</name></author>
		
	</entry>
	<entry>
		<id>http://andromeda.df.lu.lv/wiki/index.php?title=MansOS&amp;diff=28</id>
		<title>MansOS</title>
		<link rel="alternate" type="text/html" href="http://andromeda.df.lu.lv/wiki/index.php?title=MansOS&amp;diff=28"/>
		<updated>2008-03-27T19:59:19Z</updated>

		<summary type="html">&lt;p&gt;Samofals: /* Development tools and techniques */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MansOS is an operating system for wireless sensor networks. It can be considered a branch of LiteOS operating system because it shares several defining characteristics. MansOS like LiteOS is designed to be easily adopted by system designers by avoiding the steep learning curve, because it is based on the concepts that are familiar to the majority of IT community. &lt;br /&gt;
&lt;br /&gt;
Key concepts common with LiteOS:&lt;br /&gt;
* MansOS is adopting programming in C and (eventually) C++, known to many people&lt;br /&gt;
* MansOS is treating a sensor network using Unix-like command tools and resources&lt;br /&gt;
* MansOS enables thread-like programming environment&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional key aspects specific to MansOS:&lt;br /&gt;
* MansOS is designed to be easily portable to new platforms&lt;br /&gt;
* MansOS enforces the structured HPL-HAL-HIL architecture at a mote level, ensuring clear interface for portability&lt;br /&gt;
* The focus during the development should be the whole system - a collection of mote entities rather than a single mote&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* [[MansOS_Philosophy | Philosophy]]&lt;br /&gt;
* [[MansOS_Architecture | Architecture]]&lt;br /&gt;
* [[MansOS_Directory_Structure | Directory structure]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Internals ===&lt;br /&gt;
&lt;br /&gt;
* [[MansOS_Kernel | Kernel]]&lt;br /&gt;
* [[MansOS_File_System | File system]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Development tools and techniques ===&lt;br /&gt;
&lt;br /&gt;
* [[MansOS_Apps_examples | Application examples]]&lt;br /&gt;
* [[MansOS_Eclipse | Eclipse setup]]&lt;br /&gt;
* [[MansOS_Testing | Debugging and testing]]&lt;br /&gt;
* [[MansOS_FAQ | FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Hardware notes ===&lt;br /&gt;
&lt;br /&gt;
Chips&lt;br /&gt;
* [[Chips_msp430 | MCU: MSP430]]&lt;br /&gt;
* [[Chips_cc2420 | Radio: CC2420]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Platforms&lt;br /&gt;
* [[Platforms_telosb | telosb: Tmote Sky, Mini, etc.]]&lt;/div&gt;</summary>
		<author><name>Samofals</name></author>
		
	</entry>
</feed>