diff --git a/LICENSE b/LICENSE.md similarity index 99% rename from LICENSE rename to LICENSE.md index d0b2ef153..c180b146d 100644 --- a/LICENSE +++ b/LICENSE.md @@ -7,6 +7,8 @@ The copyright for different parts of the code is held by different people and organizations, but the code is licensed under the same type of license. The license text is: +``` +/* * Copyright (c) (Year), (Name of copyright holder) * All rights reserved. * @@ -35,4 +37,5 @@ of license. The license text is: * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. - + */ +``` diff --git a/README-BUILDING.md b/README-BUILDING.md deleted file mode 100644 index b4d5354d0..000000000 --- a/README-BUILDING.md +++ /dev/null @@ -1,92 +0,0 @@ -The Contiki build system -======================== - -The Contiki build system is designed to make it easy to compile Contiki -applications for different hardware platforms or into a simulation platform by -simply supplying different parameters to the make command, without having to -edit makefiles or modify the application code. - -The file example project in examples/hello-world/ shows how the Contiki build -system works. The hello-world.c application can be built into a complete -Contiki system by running make in the examples/hello-world/ directory. Running -make without parameters will build a Contiki system using the native target. -The native target is a special Contiki platform that builds an entire Contiki -system as a program that runs on the development system. After compiling the -application for the native target it is possible to run the Contiki system with -the application by running the file hello-world.native. To compile the -application and a Contiki system for the ESB platform the command make -TARGET=esb is used. This produces a hello-world.esb file that can be loaded -into an ESB board. - -To compile the hello-world application into a stand-alone executable that can -be loaded into a running Contiki system, the command make hello-world.ce is -used. To build an executable file for the ESB platform, make TARGET=esb -hello-world.ce is run. - -To avoid having to type TARGET= every time make is run, it is possible to run -make TARGET=esb savetarget to save the selected target as the default target -platform for subsequent invocations of make. A file called Makefile.target -containing the currently saved target is saved in the project's directory. - -Beside TARGET= there's DEFINES= which allows to set arbitrary variables for the -C preprocessor in form of a comma-separated list. Again it is possible to avoid -having to re-type i.e. DEFINES=MYTRACE,MYVALUE=4711 by running make TARGET=esb -DEFINES=MYTRACE,MYVALUE=4711 savedefines. A file called Makefile.esb.defines is -saved in the project's directory containing the currently saved defines for the -ESB platform. - -Makefiles used in the Contiki build system The Contiki build system is composed -of a number of Makefiles. These are: - -* Makefile: the project's makefile, located in the project directory. - -* Makefile.include: the system-wide Contiki makefile, located in the root of - the Contiki source tree. - -* Makefile.$(TARGET) (where $(TARGET) is the name of the platform that is - currently being built): rules for the specific platform, located in the - platform's subdirectory in the platform/ directory. - -* Makefile.$(CPU) (where $(CPU) is the name of the CPU or microcontroller - architecture used on the platform for which Contiki is built): rules for the - CPU architecture, located in the CPU architecture's subdirectory in the cpu/ - directory. - -* Makefile.$(APP) (where $(APP) is the name of an application in the apps/ - directory): rules for applications in the apps/ directories. Each application - has its own makefile. - -The Makefile in the project's directory is intentionally simple. It specifies -where the Contiki source code resides in the system and includes the -system-wide Makefile, Makefile.include. The project's makefile can also define -in the APPS variable a list of applications from the apps/ directory that -should be included in the Contiki system. The Makefile used in the hello-world -example project looks like this: - - CONTIKI_PROJECT = hello-world - all: $(CONTIKI_PROJECT) - - CONTIKI = ../.. - include $(CONTIKI)/Makefile.include - -First, the location of the Contiki source code tree is given by defining the -CONTIKI variable. Next, the name of the application is defined. Finally, the -system-wide Makefile.include is included. - -The Makefile.include contains definitions of the C files of the core Contiki -system. Makefile.include always reside in the root of the Contiki source tree. -When make is run, Makefile.include includes the Makefile.$(TARGET) as well as -all makefiles for the applications in the APPS list (which is specified by the -project's Makefile). - -Makefile.$(TARGET), which is located in the platform/$(TARGET)/ directory, -contains the list of C files that the platform adds to the Contiki system. This -list is defined by the CONTIKI_TARGET_SOURCEFILES variable. The -Makefile.$(TARGET) also includes the Makefile.$(CPU) from the cpu/$(CPU)/ -directory. - -The Makefile.$(CPU) typically contains definitions for the C compiler used for -the particular CPU. If multiple C compilers are used, the Makefile.$(CPU) can -either contain a conditional expression that allows different C compilers to be -defined, or it can be completely overridden by the platform specific makefile -Makefile.$(TARGET). diff --git a/README-EXAMPLES.md b/README-EXAMPLES.md deleted file mode 100644 index 2941aa769..000000000 --- a/README-EXAMPLES.md +++ /dev/null @@ -1,220 +0,0 @@ -Contiki Examples -================ - -The examples/ directory contains a few examples that will help you get -started with Contiki. - -To run the example programs, you need either to be running Linux or FreeBSD (or -any other UNIX-type system), or install Cygwin if you are running Microsoft -Windows [http://cygwin.com](http://cygwin.com). As a minimum you will need to -have the gcc C compiler installed. To run the examples in the 'netsim' target, -you need to have GTK 1.x development libraries installed. These are usually -called 'gtk-devel', 'libgtk1-devel' or similar in your Linux software -installation programs. - -compile-platforms/ ------------------- - -A test script that compiles Contiki for a number of platforms and reports any -errors found during the build. - -email/ ------- - -An email program supporting SMTP. It can be compiled and run in the 'win32' -target by typing the following commands: - - cd examples/email - make - ./email-client.win32 - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/win32/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well. - -esb/ ----- - -A set of demo applications for the ESB board. - -ftp/ ----- - -An FTP client supporting download. It can be compiled and run in the 'win32' -target by typing the following commands: - - cd examples/ftp - make - ./ftp-client.win32 - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/win32/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well. - -hello-world/ ------------- - -A really simple Contiki program that shows how to write Contiki programs. To -compile and test the program, go into the hello-world directory: - - cd examples/hello-world - -Run the 'make' command. - - make - -This will compile the hello-world program in the 'native' target. This causes -the entire Contiki operating system and the hello-world application to be -compiled into a single program that can be run by typing the following command: - - ./hello-world.native - -This will print out the following text: - - Contiki initiated, now starting process scheduling - Hello, world - -The program will then appear to hang, and must be stopped by pressing the C key -while holding down the Control key. - -irc/ ----- - -An IRC client. It can be compiled and run in the 'win32' target by -typing the following commands: - - cd examples/irc - make - ./irc-client.win32 - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/win32/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well. - -multi-threading/ ----------------- - -A quite simple demonstration of the Contiki multi-threading library -employing two worker threads each running a recursive function. It -can be compiled and run in the 'native' target by typing the -following commands: - - cd examples/multi-threading - make - ./multi-threading.native - -rime/ ------ - -Contains a set of examples on how to use the Rime communications -stack. To run those examples in the 'netsim' target (a very simple -Contiki network simulator), compile the programs with: - - make TARGET=netsim - -You will need to have GTK 1.x development libraries installed. - -Run the different programs: - - ./test-abc.netsim - ./test-meshroute.netsim - ./test-rudolph0.netsim - ./test-rudolph1.netsim - ./test-treeroute.netsim - ./test-trickle.netsim - -Most of the examples requires you to click with the middle mouse -button on one of the simulated nodes for something to happen. - -sky/ ----- - -Examples inteded for running on the Tmote Sky board. To compile those, you need -to have msp430-gcc (the gcc C compiler for the MSP430 microcontroller) -installed. - -The follwing programs are included: - -- blink.c A simple program that blinks the on-board LEDs -- sky-collect.c Collects sensor data and energy profile values to a sink. - Press the "user" button on the Tmote Sky that is connected to the PC to make - the node a sink. -- test-button.c Toggles the LEDs when the button is pressed. -- test-cfs.c Tests the 1 mb flash memory of the Tmote Sky - -telnet-server/ --------------- - -A simple TCP telnet server with a simple command shell. It can be -compiled and run in the 'minimal-net' target by typing the following -commands: - - cd examples/telnet-server - make - ./telnet-server.minimal-net - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/minimal-net/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well if you are running -Microsoft Windows. - -webbrowser/ ------------ - -A text mode web browser supporting links and forms. It can be compiled -and run in the 'win32' target by typing the following commands: - - cd examples/webbrowser - make - ./webbrowser.win32 - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/win32/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well. - -webserver/ ----------- - -A web server supporting dynamic content creation using "scripts" which -are actually compiled-in C-functions. It can be compiled and run in the -'minimal-net' target by typing the following commands: - - cd examples/webserver - make - ./webserver-example.minimal-net - -As an alternative to the static and dynamic compiled-in content the web -server can instead support "external" static-only content loaded from -any storage supported by the 'Contiki File System' (CFS) interface. To -compile it in the 'minimal-net' target and have it load files from disk -use the following command: - - make HTTPD-CFS=1 - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/minimal-net/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well if you are running -Microsoft Windows. - -wget/ ------ - -A command line program that retrieves files from web servers and saves them -using the 'Contiki File System' (CFS). It can be compiled and run in the -'minimal-net' target by typing the following commands: - - cd examples/wget - make - ./wget.minimal-net - -Most likely you'll have to adjust the TCP/IP values set in main() in -platform/minimal-net/contiki-main.c to match your needs. - -Please consult cpu/native/net/README-WPCAP.md as well if you are running -Microsoft Windows. diff --git a/README.md b/README.md index fb6322e93..7aa53e148 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on. -For more information, see the Contiki website: +For more information, see the Contiki website: http://contiki-os.org + +To get started, see the Contiki wiki: https://github.com/contiki-os/contiki/wiki -[http://contiki-os.org](http://contiki-os.org)