You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2015/11/19 00:09:47 UTC

[1/2] incubator-mynewt-site git commit: adding stubs for doc contributers

Repository: incubator-mynewt-site
Updated Branches:
  refs/heads/master 7bdcd7004 -> 4c7671121


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/console.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/console.md b/docs/chapter5/console.md
index e69de29..4e0bd73 100644
--- a/docs/chapter5/console.md
+++ b/docs/chapter5/console.md
@@ -0,0 +1,546 @@
+# Console
+
+
+The console is an operating system window where users interact with system programs of the operating system or a console application by entering text input (typically from a keyboard) and reading text output (typically on the computer terminal). The text written on the console brings some information and is a sequence of characters sent by the OS or programs running on the OS. 
+
+Support is currently available for console access via the serial port on the hardware board.
+
+
+## Description
+
+In the Mynewt OS, the console library comes in two versions:
+
+* full - containing the full implementation
+* stub - containing stubs for the API
+
+If an egg or project requires the full console capability it lists that dependency in its egg.yml file. For example, the shell egg is defined by the following egg.yml file:
+
+    egg.name: libs/shell 
+    egg.vers: 0.1
+    egg.deps:
+        - libs/console/full
+        - libs/os
+    egg.identities:
+        - SHELL 
+
+On the other hand, a project may not have a physical console (e.g. a UART port to connect a terminal to) but may have a dependency on an egg that has console capability. In that case you would use a console stub. Another example would be the bootloader project where we want to keep the size of the image small. It includes the `libs/os` egg that can print out messages on a console (e.g. if there is a hard fault) and the `libs/util` egg that uses full console (but only if SHELL is present to provide a CLI). However, we do not want to use any console I/O capability in this particular bootloader project to keep the size small. We simply use the console stub instead and the egg.yml file for the project boot egg looks like the following:
+
+    project.name: boot
+    project.identities: bootloader
+    project.eggs:
+        - libs/os
+        - libs/bootutil
+        - libs/nffs
+        - libs/console/stub
+        - libs/util 
+
+## Data structures
+
+
+Console interaction is intrinsically composed of two unidirectional systems. The console implementation uses two ring buffers containing input (receive) and output (transmit) characters, respectively. Read and write operations on the console_ring structure are managed by labeling the read location indicator the `cr_tail` and the write location indicator the `cr_head`. The console ring length is variable and is specified as the `cr_size` member of the data structure. `cr_buf` is the pointer to the actual array of data contained.
+
+
+```
+struct console_ring {
+  32     uint8_t cr_head;
+  33     uint8_t cr_tail;
+  34     uint8_t cr_size;
+  35     uint8_t _pad;
+  36     uint8_t *cr_buf;
+  37 }
+```
+
+
+```
+struct console_tty {
+  40     struct console_ring ct_tx;
+  41     uint8_t ct_tx_buf[CONSOLE_TX_BUF_SZ]; /* must be after console_ring */
+  42     struct console_ring ct_rx;
+  43     uint8_t ct_rx_buf[CONSOLE_RX_BUF_SZ]; /* must be after console_ring */
+  44     console_rx_cb ct_rx_cb;     /* callback that input is ready */
+  45     console_write_char ct_write_char;
+  46 } console_tty
+```
+
+## List of Functions
+
+The functions available in console are:
+
+* [console_printf](#function-console_printf)
+* [console_add_char](#function-console_add_char)
+* [console_pull_char](#function-console_pull_char)
+* [console_pull_char_head](#function-console_pull_char_head)
+* [console_queue_char](#function-console_queue_char)
+* [console_blocking_tx](#function-console_blocking_tx)
+* [console_blocking_mode](#function-console_blocking_mode)
+* [console_write](#function-console_write)
+* [console_read](#function-console_read)
+* [console_tx_char](#function-console_tx_char)
+* [console_rx_char](#function-console_rx_char)
+* [console_init](#function-console_init)
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function console_printf</font>
+
+```
+    void 
+    console_printf(const char *fmt, ...)
+```
+
+Writes a formatted message instead of raw output to the console. It first composes a C string containing text specified as arguments to the function or containing the elements in the variable argument list passed to it using snprintf or vsnprintf, respectively. It then uses function `console_write` to output the formatted data (messages) on the console.
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| fmt |  Pointer to C string that contains a format string that follows the same specifications as format in printf. The string is printed to console.          |
+| ... | Depending on the format string, the function may expect either a sequence of additional arguments to be used to replace a format specifier in the format string or a variable arguments list. va_list is a special type defined in <cstdarg> in stdarg.h. |
+
+#### Returned values
+
+None
+
+#### Notes 
+
+While `console_printf`, with its well understood formatting options in C, is more convenient and easy on the eyes than the raw output of `console_write`, the associated code size is considerably larger.
+
+#### Example
+Example #1:
+
+```
+char adv_data_buf[32];
+    
+void
+task()
+{ 
+   char adv_data_buf[32];
+   
+   console_printf("%s", adv_data_buf);
+}
+```   
+
+Example #2:
+
+```
+struct exception_frame {
+    uint32_t r0;
+    uint32_t r1;
+
+struct trap_frame {
+    struct exception_frame *ef;
+    uint32_t r2;
+    uint32_t r3;
+};
+
+void
+task(struct trap_frame *tf)
+{
+     console_printf(" r0:%8.8x  r1:%8.8x", tf->ef->r0, tf->ef->r1);
+     console_printf(" r8:%8.8x  r9:%8.8x", tf->r2, tf->r3);
+}
+```
+  
+---------------------
+   
+### <font color="#2980b9"> function console_add_char</font>
+
+```
+   static void
+   console_add_char(struct console_ring *cr, char ch)
+```
+
+Adds a character to the console ring buffer. When you store an item in the buffer you store it at the head location, and the head advances to the next location.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| *cr |  Pointer to a console ring data structure whose `cr_head` variable is to be set to the second argument in this function call|
+| ch |  Character to be inserted to the ring |
+
+#### Returned values
+
+None
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Add a new line character to the output (transmit) buffer.
+
+```
+void
+task()
+{
+     struct console_ring *tx = &ct->ct_tx;
+     
+     console_add_char(tx, '\n');
+}
+```
+
+-------------------
+
+### <font color="#2980b9"> function console_pull_char </font>
+
+```
+   static uint8_t
+   console_pull_char(struct console_ring *cr)
+```
+
+Reads (remove) a byte from the console ring buffer. When you read (pull) an item, you read it at the current tail location, and the tail advances to the next position. 
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| *cr | Pointer to the console ring buffer from where a character is to be removed  |
+
+
+#### Returned values
+
+Returns the character pulled from the ring buffer.
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Read the characters in the ring buffer into a string.
+
+```
+void
+task(struct console_ring *cr, char *str, int cnt)
+{    
+     for (i = 0; i < cnt; i++) {
+          if (cr->cr_head == cr->cr_tail) {
+              i = -1;
+              break;
+          }
+     ch = console_pull_char(cr);
+     *str++ = ch;
+     }
+}
+```
+
+---------------
+      
+### <font color="#2980b9"> function console_pull_char_head </font>
+
+```
+   static void
+   console_pull_char_head(struct console_ring *cr)
+```
+
+Removes the last character inserted into the ring buffer by moving back the head location and shrinking the ring size by 1. 
+  
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| cr |  Pointer to the console ring buffer from which the last inserted character must be deleted |
+
+
+#### Returned values
+
+None
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+In order to see a character getting deleted when a user hits backspace while typying a command, the following needs to happen in sequence:
+
+* output a backspace (move cursor back one character)
+* output space (erasing whatever character there was before)
+* output backspace (move cursor back one character)
+* remove the previous character from incoming RX queue
+
+The example below shows console_pull_char_head being used for the last step.
+
+```
+void
+task(uint8_t data)
+{
+      struct console_tty *ct = (struct console_tty *)arg;
+      struct console_ring *tx = &ct->ct_tx;
+      struct console_ring *rx = &ct->ct_rx;
+      
+      switch (data) {
+      case '\b':
+          console_add_char(tx, '\b');
+          console_add_char(tx, ' ');
+          console_add_char(tx, '\b');
+          console_pull_char_head(rx);
+          break;
+      }
+}
+
+```
+
+-------------
+
+### <font color="#2980b9"> function console_queue_char </font>
+
+``` 
+   static void
+   console_queue_char(char ch)
+```
+   
+Manage the buffer queue before inserting a character into it. If the head of the output (transmit) console ring is right up to its tail, the queue needs to be drained first before any data can be added. Then it uses console_add_char function to add the character.
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| ch |  Character to be inserted to the queue  |
+
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+This function makes sure no interrupts are allowed while the transmit buffer is draining and the character is being added.
+
+#### Example
+
+```
+Insert example
+``` 
+------------------
+ 
+### <font color="#2980b9"> function console_blocking_tx </font>
+
+```
+    static void
+    console_blocking_tx(char ch)
+```
+    
+  Calls the hal function hal_uart_blocking_tx to transmit a byte to the console over UART in a blocking mode until the character has been sent. Hence it must be called with interrupts disabled. It is used when printing diagnostic output from system crash. 
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+-----------
+
+### <font color="#2980b9"> function console_blocking_mode </font>
+
+```
+   void
+   console_blocking_mode(void)
+```
+   Calls the console_blocking_tx function to flush the buffered console output (transmit) queue. The function OS_ENTER_CRITICAL() is called to disable interrupts and OS_EXIT_CRITICAL() is called to enable interrupts back again once the buffer is flushed.
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9">function console_write </font>
+ 
+```
+   void
+   console_write(char *str, int cnt)
+```
+Transmit characters to console display over serial port. 
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_read </font>
+
+```   
+  int
+  console_read(char *str, int cnt)
+```
+  Calls hal function hal_uart_start_rx to start receiving input from console terminal over serial port.
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_tx_char </font>
+
+   ```   
+   static int
+   console_tx_char(void *arg)
+   ```
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+  
+### <font color="#2980b9"> function console_rx_char </font>
+
+```
+   static int
+   console_rx_char(void *arg, uint8_t data)
+```
+
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.
+
+
+### <font color="#2980b9"> function console_init </font>
+
+```
+   int
+   console_init(console_rx_cb rx_cb)
+```
+   
+  Initializes console receive buffer and calls hal funtions hal_uart_init_cbs and hal_uart_config to initialize serial port connection and configure it (e.g. baud rate, flow control etc.)
+   
+#### Arguments
+
+| Arguments | Description |
+|-------------------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+Give at least one example of usage.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/filesystem.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/filesystem.md b/docs/chapter5/filesystem.md
new file mode 100644
index 0000000..dc1ad43
--- /dev/null
+++ b/docs/chapter5/filesystem.md
@@ -0,0 +1,149 @@
+# Filesystem
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [nffs_lock](#function-nffs_lock)
+* [nffs_unlock](#function-nffs_unlock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function nffs_lock </font>
+
+```
+    static void
+    nffs_lock(void)
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function nffs_unlock </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/mods.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/mods.md b/docs/chapter5/mods.md
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/shell.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/shell.md b/docs/chapter5/shell.md
new file mode 100644
index 0000000..1b2928a
--- /dev/null
+++ b/docs/chapter5/shell.md
@@ -0,0 +1,147 @@
+# Shell
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [shell_cmd_list_lock](#function-shell_cmd_list_lock)
+* [shell_cmd_list_unlock](#function-shell_cmd_list_unlock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function shell_cmd_list_lock </font>
+
+```
+    static int 
+    shell_cmd_list_lock(void)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function shell_cmd_list_unlock </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/testutil.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/testutil.md b/docs/chapter5/testutil.md
new file mode 100644
index 0000000..601ed02
--- /dev/null
+++ b/docs/chapter5/testutil.md
@@ -0,0 +1,149 @@
+# testutil
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [tu_init](#function-tu_init)
+* [tu_restart](#function-tu_restart)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function tu_init </font>
+
+```
+    int
+    tu_init(void)
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function tu_restart </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/extra.css
----------------------------------------------------------------------
diff --git a/docs/extra.css b/docs/extra.css
index 0369daa..de4dfc6 100644
--- a/docs/extra.css
+++ b/docs/extra.css
@@ -1,9 +1,44 @@
-* {
-        margin: 0;
-        padding: 0;
+/*
+ * Tweak the overal size to better match RTD.
+ */
+ 
+body {
+    font-size: 100%;
 }
 
-<!h1 { font-size: 4.0em; }
-<!p, li { font-size: 100%; }
+h3 {
+    color: black;
+    font-weight: 900;
+}
+
+h4, h5, h6 {
+    color: black;
+    font-weight: 300;
+    text-decoration: underline;
+}
+
+hr {
+    height: 2px;
+    border: #2980b9;
+    background: #2980b9;
+}
+
+/*
+ * Fix wrapping in the code highlighting
+ *
+ * https://github.com/mkdocs/mkdocs/issues/233
+ */
+code {
+    white-space: pre;
+}
 
+/*
+ * Wrap inline code samples otherwise they shoot off the side and
+ * can't be read at all.
+ *
+ * https://github.com/mkdocs/mkdocs/issues/313
+ */
+p code {
+    word-wrap: break-word;
+}
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/index.md b/docs/index.md
index 9175ab1..592f9f0 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,7 +1,10 @@
+#![ASF Incubator Project](images/egg-logo.png)
+---
+
 ## Objective of Mynewt 
 
 
-Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.
+Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices like wearables, lightbulbs, locks, and doorbells. At the core is a real-time operating system that is designed to work on a variety of microcontrollers. The project includes the Newt tool to help you build and distribute embedded projects using Mynewt OS. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.
 
 The world of Mynewt, therefore, has three primary collaborative goals:
 
@@ -9,10 +12,69 @@ The world of Mynewt, therefore, has three primary collaborative goals:
 * Offer a suite of open-source software for efficient and secure two-way communications with an embedded device
 * Develop method and tools necessary to build an optimized executable image on the desired hardware
 
-The chapter organization is outlined below. Each Chapter has one or more tutorials for hands-on experience with the material in each chapter. 
+### Project Information Links
+
+  * [Project Proposal](https://wiki.apache.org/incubator/MynewtProposal)
+
+  * [Issue Tracking](https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel)
+
+  * [Project Status](http://incubator.apache.org/projects/mynewt.html)
+
+
+### Project GIT Repository
+
+* [Documentation repository](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git) containing the markdown docs that generate the html pages you see here.
+
+* [Mynewt OS development repository (larva)](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git) containing all code packages for newt operating system and middleware software being worked on.
+
+* [Newt tool development repository (newt)](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git) containing source code for the newt tool.
+
+
+### Mailing Lists
+
+* dev@mynewt.incubator.apache.org 
+
+    This is for both contributors and users. In order to subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org.
+    
+* commits@mynewt.incubator.apache.org
+
+    This is mainly for contributors to code or documentation. In order to subscribe to the commits list, send an email to commits-subscribe@mynewt.incubator.apache.org.
+    
+* notifications@mynewt.incubator.apache.org
+
+    This is for all autogenerated mail except commits e.g. JIRA notifications. In order to subscribe to the notifications list, send an email to notifications-subscribe@mynewt.incubator.apache.org. 
+
+To subscribe to a mailing list, you simply send an email to a special subscription address. To subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org. For the issues list, the address would be issues-subscribe@mynewt.incubator.apache.org. You should then get an automated email which details how to confirm your subscription.
+
+### Documentation Organization
+
+The chapter organization is outlined below. Each chapter will include one or more tutorials for hands-on experience with the material in each chapter. 
 
 * [Chapter 1: Getting Started](chapter1/newt_concepts.md) introduces some key terms in this initiative and includes a tutorial for a quick project to show how to work with some of the products.
 
 * [Chapter 2: Getting Acclimated](chapter2/vocabulary.md) delves deeper into the concepts crucial to the software development effort. 
 
 * [Chapter 3: Newt Tool Reference](chapter3/newt_ops.md) describes the command structure and details all the available commands to help you with your project. 
+
+* [Chapter 4: Newt OS](chapter4/mynewt_os.md) provides an overview of the features available and how to customize for your hardware and software application.
+
+* [Chapter 5: Modules](chapter5/console.md) lays out all the available modules such as HAL (Hardware Abstraction Layer), console, file system, networking stacks, and other middleware components.
+
+* [Chapter 6: Creating packages for distribution](chapter6/dist.md) delineates the process of creating complete packages to load on your embedded device to get it up, connected, and ready for remote management.
+
+### Contributing to Documentation
+
+All content on this site is statically generated using [MkDocs](http://www.mkdocs.org) from documents written in Markdown and stored in the `docs` directory on the master branch in the [Documentation repository](https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git). As a documentation contributor you will modify in the desired markdown file or create new ones in the appropriate chapter subdirectory under `docs`. 
+
+To edit content in a Markdown file and be able to see how the changes look you may use desktop apps such as:
+
+* [Mou](http://25.io/mou/) for Mac
+* [Something like Mou](http://alternativeto.net/software/mou/?platform=windows) for Windows
+
+Click on [How to edit docs](chapter1/how_to_edit_docs.md) under "Get Started" to learn how to edit a sample file [try_markdown.md](chapter1/try_markdown.md) on Mynewt's documentation git repository.
+
+The static html content is generated and maintained in the asf-site branch in the documentation repository. Currently, the static html files are generated manually once a day. This will be automated in the future.
+
+You can preview the changes you have made on your desktop by installing MkDocs and starting up its built-in webserver as described in [MkDocs](http://www.mkdocs.org).
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/images/content-bg.png
----------------------------------------------------------------------
diff --git a/images/content-bg.png b/images/content-bg.png
new file mode 100644
index 0000000..8829c20
Binary files /dev/null and b/images/content-bg.png differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/mkdocs.yml
----------------------------------------------------------------------
diff --git a/mkdocs.yml b/mkdocs.yml
index 720f846..2ba3299 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -2,21 +2,46 @@ site_name: Mynewt
 site_url: http://mynewt.incubator.apache.org/index.html
 
 pages:
-- Doc Home: index.md
-- Getting Started:
+- Home: 'index.md'
+- Get Started:
     - 'Newt Concepts': 'chapter1/newt_concepts.md'
     - 'Blinky, The First Project': 'chapter1/project1.md'
-- Getting Acclimated:
+    - 'How to edit docs': 'chapter1/how_to_edit_docs.md'
+    - 'Sample doc to edit': 'chapter1/try_markdown.md'
+- Get Acclimated:
     - 'Understanding Newt Terms': 'chapter2/vocabulary.md'
+    - 'Modules Overview': 'chapter2/mod.md'
     - 'Project 2': 'chapter2/project2.md'
     - 'Project 3': 'chapter2/project3.md'
-- Newt tool Reference:
+- Newt Tool:
     - 'Command structure': 'chapter3/newt_ops.md'
     - 'Command list': 'chapter3/newt_tool_reference.md'
+- Newt OS:
+    - 'Overview': 'chapter4/mynewt_os.md'
+    - 'Scheduler/Context Switching': 'chapter4/context_switch.md'
+    - 'Time': 'chapter4/time.md'
+    - 'Tasks': 'chapter4/task.md'
+    - 'Event Queues': 'chapter4/event_queue.md'
+    - 'Semaphores': 'chapter4/semaphore.md'
+    - 'Mutexes': 'chapter4/mutex.md'
+    - 'Memory Pools': 'chapter4/memory_pool.md'
+    - 'Heap': 'chapter4/heap.md'
+    - 'Mbufs': 'chapter4/mbufs.md'
+    - 'Sanity': 'chapter4/sanity.md'
+    - 'Porting to other Platforms': 'chapter4/port_os.md'
+- Modules:
+    - 'Console': 'chapter5/console.md'
+    - 'Shell': 'chapter5/shell.md'
+    - 'Bootloader': 'chapter5/bootloader.md'
+    - 'File System': 'chapter5/filesystem.md'
+    - 'Test Utilities': 'chapter5/testutil.md'
+- Packaging it:
+    - 'Creating Packages': 'chapter6/dist.md'
 
 markdown_extensions:
     - toc:
         permalink: true
-    - admonition:
+    - sane_lists
     
-theme: mkdocs
+theme: readthedocs
+extra_css: [extra.css]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/extra.css
----------------------------------------------------------------------
diff --git a/site/extra.css b/site/extra.css
new file mode 100644
index 0000000..de4dfc6
--- /dev/null
+++ b/site/extra.css
@@ -0,0 +1,44 @@
+/*
+ * Tweak the overal size to better match RTD.
+ */
+ 
+body {
+    font-size: 100%;
+}
+
+h3 {
+    color: black;
+    font-weight: 900;
+}
+
+h4, h5, h6 {
+    color: black;
+    font-weight: 300;
+    text-decoration: underline;
+}
+
+hr {
+    height: 2px;
+    border: #2980b9;
+    background: #2980b9;
+}
+
+/*
+ * Fix wrapping in the code highlighting
+ *
+ * https://github.com/mkdocs/mkdocs/issues/233
+ */
+code {
+    white-space: pre;
+}
+
+/*
+ * Wrap inline code samples otherwise they shoot off the side and
+ * can't be read at all.
+ *
+ * https://github.com/mkdocs/mkdocs/issues/313
+ */
+p code {
+    word-wrap: break-word;
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/index.html
----------------------------------------------------------------------
diff --git a/site/index.html b/site/index.html
new file mode 100644
index 0000000..1663bb9
--- /dev/null
+++ b/site/index.html
@@ -0,0 +1,481 @@
+<!DOCTYPE html>
+<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
+<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
+<head>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  
+  <title>Mynewt</title>
+  
+
+  <link rel="shortcut icon" href="./img/favicon.ico">
+
+  
+  <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
+
+  <link rel="stylesheet" href="./css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="./css/theme_extra.css" type="text/css" />
+  <link rel="stylesheet" href="./css/highlight.css">
+  <link href="./extra.css" rel="stylesheet">
+
+  
+  <script>
+    // Current page data
+    var mkdocs_page_name = "None";
+  </script>
+  
+  <script src="./js/jquery-2.1.1.min.js"></script>
+  <script src="./js/modernizr-2.8.3.min.js"></script>
+  <script type="text/javascript" src="./js/highlight.pack.js"></script>
+  <script src="./js/theme.js"></script> 
+
+  
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+      <div class="wy-side-nav-search">
+        <a href="." class="icon icon-home"> Mynewt</a>
+        <div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="./search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+        <ul class="current">
+          
+            <li>
+    <li class="toctree-l1 current">
+        <a class="current" href=".">Home</a>
+        
+            <ul>
+            
+                <li class="toctree-l3"><a href="#objective-of-mynewt">Objective of Mynewt</a></li>
+                
+                    <li><a class="toctree-l4" href="#project-information-links">Project Information Links</a></li>
+                
+                    <li><a class="toctree-l4" href="#project-git-repository">Project GIT Repository</a></li>
+                
+                    <li><a class="toctree-l4" href="#mailing-lists">Mailing Lists</a></li>
+                
+                    <li><a class="toctree-l4" href="#documentation-organization">Documentation Organization</a></li>
+                
+                    <li><a class="toctree-l4" href="#contributing-to-documentation">Contributing to Documentation</a></li>
+                
+            
+            </ul>
+        
+    </li>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Get Started</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/newt_concepts/">Newt Concepts</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/project1/">Blinky, The First Project</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/how_to_edit_docs/">How to edit docs</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter1/try_markdown/">Sample doc to edit</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Get Acclimated</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/vocabulary/">Understanding Newt Terms</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/mod/">Modules Overview</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/project2/">Project 2</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter2/project3/">Project 3</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Newt Tool</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter3/newt_ops/">Command structure</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter3/newt_tool_reference/">Command list</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Newt OS</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mynewt_os/">Overview</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/context_switch/">Scheduler/Context Switching</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/time/">Time</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/task/">Tasks</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/event_queue/">Event Queues</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/semaphore/">Semaphores</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mutex/">Mutexes</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/memory_pool/">Memory Pools</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/heap/">Heap</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/mbufs/">Mbufs</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/sanity/">Sanity</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter4/port_os/">Porting to other Platforms</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Modules</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/console/">Console</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/shell/">Shell</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/bootloader/">Bootloader</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/filesystem/">File System</a>
+        
+    </li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter5/testutil/">Test Utilities</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+            <li>
+    <ul class="subnav">
+    <li><span>Packaging it</span></li>
+
+        
+            
+    <li class="toctree-l1 ">
+        <a class="" href="chapter6/dist/">Creating Packages</a>
+        
+    </li>
+
+        
+    </ul>
+<li>
+          
+        </ul>
+      </div>
+      &nbsp;
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
+        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+        <a href=".">Mynewt</a>
+      </nav>
+
+      
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href=".">Docs</a> &raquo;</li>
+    
+      
+    
+    <li>Home</li>
+    <li class="wy-breadcrumbs-aside">
+      
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main">
+            <div class="section">
+              
+                <h1 id="_1"><img alt="ASF Incubator Project" src="./images/egg-logo.png" /><a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
+<hr />
+<h2 id="objective-of-mynewt">Objective of Mynewt<a class="headerlink" href="#objective-of-mynewt" title="Permanent link">&para;</a></h2>
+<p>Mynewt is an open source initiative to build a stack of modularized control, networking, and monitoring software for embedded devices like wearables, lightbulbs, locks, and doorbells. At the core is a real-time operating system that is designed to work on a variety of microcontrollers. The project includes the Newt tool to help you build and distribute embedded projects using Mynewt OS. The modular implementation allows the user the flexibility to mix and match hardware components and software stack depending on the feature and performance requirements of the particular application he or she has in mind.</p>
+<p>The world of Mynewt, therefore, has three primary collaborative goals:</p>
+<ul>
+<li>Build a modularized real-time operating system for a rich set of hardware components</li>
+<li>Offer a suite of open-source software for efficient and secure two-way communications with an embedded device</li>
+<li>Develop method and tools necessary to build an optimized executable image on the desired hardware</li>
+</ul>
+<h3 id="project-information-links">Project Information Links<a class="headerlink" href="#project-information-links" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p><a href="https://wiki.apache.org/incubator/MynewtProposal">Project Proposal</a></p>
+</li>
+<li>
+<p><a href="https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel">Issue Tracking</a></p>
+</li>
+<li>
+<p><a href="http://incubator.apache.org/projects/mynewt.html">Project Status</a></p>
+</li>
+</ul>
+<h3 id="project-git-repository">Project GIT Repository<a class="headerlink" href="#project-git-repository" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git">Documentation repository</a> containing the markdown docs that generate the html pages you see here.</p>
+</li>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git">Mynewt OS development repository (larva)</a> containing all code packages for newt operating system and middleware software being worked on.</p>
+</li>
+<li>
+<p><a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git">Newt tool development repository (newt)</a> containing source code for the newt tool.</p>
+</li>
+</ul>
+<h3 id="mailing-lists">Mailing Lists<a class="headerlink" href="#mailing-lists" title="Permanent link">&para;</a></h3>
+<ul>
+<li>
+<p>dev@mynewt.incubator.apache.org </p>
+<p>This is for both contributors and users. In order to subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org.</p>
+</li>
+<li>
+<p>commits@mynewt.incubator.apache.org</p>
+<p>This is mainly for contributors to code or documentation. In order to subscribe to the commits list, send an email to commits-subscribe@mynewt.incubator.apache.org.</p>
+</li>
+<li>
+<p>notifications@mynewt.incubator.apache.org</p>
+<p>This is for all autogenerated mail except commits e.g. JIRA notifications. In order to subscribe to the notifications list, send an email to notifications-subscribe@mynewt.incubator.apache.org. </p>
+</li>
+</ul>
+<p>To subscribe to a mailing list, you simply send an email to a special subscription address. To subscribe to the dev list, send an email to dev-subscribe@mynewt.incubator.apache.org. For the issues list, the address would be issues-subscribe@mynewt.incubator.apache.org. You should then get an automated email which details how to confirm your subscription.</p>
+<h3 id="documentation-organization">Documentation Organization<a class="headerlink" href="#documentation-organization" title="Permanent link">&para;</a></h3>
+<p>The chapter organization is outlined below. Each chapter will include one or more tutorials for hands-on experience with the material in each chapter. </p>
+<ul>
+<li>
+<p><a href="chapter1/newt_concepts/">Chapter 1: Getting Started</a> introduces some key terms in this initiative and includes a tutorial for a quick project to show how to work with some of the products.</p>
+</li>
+<li>
+<p><a href="chapter2/vocabulary/">Chapter 2: Getting Acclimated</a> delves deeper into the concepts crucial to the software development effort. </p>
+</li>
+<li>
+<p><a href="chapter3/newt_ops/">Chapter 3: Newt Tool Reference</a> describes the command structure and details all the available commands to help you with your project. </p>
+</li>
+<li>
+<p><a href="chapter4/mynewt_os/">Chapter 4: Newt OS</a> provides an overview of the features available and how to customize for your hardware and software application.</p>
+</li>
+<li>
+<p><a href="chapter5/console/">Chapter 5: Modules</a> lays out all the available modules such as HAL (Hardware Abstraction Layer), console, file system, networking stacks, and other middleware components.</p>
+</li>
+<li>
+<p><a href="chapter6/dist/">Chapter 6: Creating packages for distribution</a> delineates the process of creating complete packages to load on your embedded device to get it up, connected, and ready for remote management.</p>
+</li>
+</ul>
+<h3 id="contributing-to-documentation">Contributing to Documentation<a class="headerlink" href="#contributing-to-documentation" title="Permanent link">&para;</a></h3>
+<p>All content on this site is statically generated using <a href="http://www.mkdocs.org">MkDocs</a> from documents written in Markdown and stored in the <code>docs</code> directory on the master branch in the <a href="https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git">Documentation repository</a>. As a documentation contributor you will modify in the desired markdown file or create new ones in the appropriate chapter subdirectory under <code>docs</code>. </p>
+<p>To edit content in a Markdown file and be able to see how the changes look you may use desktop apps such as:</p>
+<ul>
+<li><a href="http://25.io/mou/">Mou</a> for Mac</li>
+<li><a href="http://alternativeto.net/software/mou/?platform=windows">Something like Mou</a> for Windows</li>
+</ul>
+<p>Click on <a href="chapter1/how_to_edit_docs/">How to edit docs</a> under "Get Started" to learn how to edit a sample file <a href="chapter1/try_markdown/">try_markdown.md</a> on Mynewt's documentation git repository.</p>
+<p>The static html content is generated and maintained in the asf-site branch in the documentation repository. Currently, the static html files are generated manually once a day. This will be automated in the future.</p>
+<p>You can preview the changes you have made on your desktop by installing MkDocs and starting up its built-in webserver as described in <a href="http://www.mkdocs.org">MkDocs</a>.</p>
+              
+            </div>
+          </div>
+          <footer>
+  
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+      
+        <a href="chapter1/newt_concepts/" class="btn btn-neutral float-right" title="Newt Concepts"/>Next <span class="icon icon-circle-arrow-right"></span></a>
+      
+      
+    </div>
+  
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+    
+  </div>
+
+  Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+	  
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+<div class="rst-versions" role="note" style="cursor: pointer">
+    <span class="rst-current-version" data-toggle="rst-current-version">
+      
+      
+      
+        <span style="margin-left: 15px"><a href="chapter1/newt_concepts/" style="color: #fcfcfc">Next &raquo;</a></span>
+      
+    </span>
+</div>
+
+</body>
+</html>
+
+<!--
+MkDocs version : 0.14.0
+Build Date UTC : 2015-11-18 23:04:39.341623
+-->

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/site/sitemap.xml
----------------------------------------------------------------------
diff --git a/site/sitemap.xml b/site/sitemap.xml
new file mode 100644
index 0000000..197513b
--- /dev/null
+++ b/site/sitemap.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+
+    
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/newt_concepts/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/project1/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/how_to_edit_docs/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter1/try_markdown/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/vocabulary/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/mod/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/project2/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter2/project3/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter3/newt_ops/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter3/newt_tool_reference/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mynewt_os/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/context_switch/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/time/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/task/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/event_queue/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/semaphore/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mutex/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/memory_pool/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/heap/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/mbufs/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/sanity/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter4/port_os/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/console/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/shell/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/bootloader/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/filesystem/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter5/testutil/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+    
+        
+    <url>
+     <loc>http://mynewt.incubator.apache.org/index.html/chapter6/dist/</loc>
+     <lastmod>2015-11-18</lastmod>
+     <changefreq>daily</changefreq>
+    </url>
+        
+    
+
+</urlset>
\ No newline at end of file


[2/2] incubator-mynewt-site git commit: adding stubs for doc contributers

Posted by ad...@apache.org.
adding stubs for doc contributers


Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/commit/4c767112
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/tree/4c767112
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/diff/4c767112

Branch: refs/heads/master
Commit: 4c767112190de472173598380c14ed552992fc8c
Parents: 7bdcd70
Author: aditihilbert <ad...@runtime.io>
Authored: Wed Nov 18 15:09:28 2015 -0800
Committer: aditihilbert <ad...@runtime.io>
Committed: Wed Nov 18 15:09:28 2015 -0800

----------------------------------------------------------------------
 .gitignore                        |   1 +
 docs/chapter1/how_to_edit_docs.md |  72 +++++
 docs/chapter1/pics/bottomview.png | Bin 0 -> 1995826 bytes
 docs/chapter1/pics/topview.png    | Bin 0 -> 1945584 bytes
 docs/chapter1/project1.md         | 306 +++++++-----------
 docs/chapter1/try_markdown.md     |  21 ++
 docs/chapter2/mod.md              |  11 +
 docs/chapter4/context_switch.md   | 149 +++++++++
 docs/chapter4/event_queue.md      | 149 +++++++++
 docs/chapter4/heap.md             | 149 +++++++++
 docs/chapter4/mbufs.md            | 150 +++++++++
 docs/chapter4/memory_pool.md      | 151 +++++++++
 docs/chapter4/mutex.md            | 150 +++++++++
 docs/chapter4/mynewt_os.md        | 167 ++++++++++
 docs/chapter4/newt_os.md          |   0
 docs/chapter4/os_overview.md      |   0
 docs/chapter4/port_os.md          |  12 +
 docs/chapter4/sanity.md           | 150 +++++++++
 docs/chapter4/semaphore.md        | 149 +++++++++
 docs/chapter4/task.md             | 149 +++++++++
 docs/chapter4/time.md             | 149 +++++++++
 docs/chapter5/bootloader.md       | 148 +++++++++
 docs/chapter5/console.md          | 546 +++++++++++++++++++++++++++++++++
 docs/chapter5/filesystem.md       | 149 +++++++++
 docs/chapter5/mods.md             |   0
 docs/chapter5/shell.md            | 147 +++++++++
 docs/chapter5/testutil.md         | 149 +++++++++
 docs/extra.css                    |  45 ++-
 docs/index.md                     |  66 +++-
 images/content-bg.png             | Bin 0 -> 155 bytes
 mkdocs.yml                        |  37 ++-
 site/extra.css                    |  44 +++
 site/index.html                   | 481 +++++++++++++++++++++++++++++
 site/sitemap.xml                  | 204 ++++++++++++
 34 files changed, 3895 insertions(+), 206 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..45ddf0a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+site/

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter1/how_to_edit_docs.md
----------------------------------------------------------------------
diff --git a/docs/chapter1/how_to_edit_docs.md b/docs/chapter1/how_to_edit_docs.md
new file mode 100644
index 0000000..10238b6
--- /dev/null
+++ b/docs/chapter1/how_to_edit_docs.md
@@ -0,0 +1,72 @@
+## How to Edit Docs  
+
+### Objective
+
+We will go through the process of downloading existing doccumentation and adding some content to a test document.
+
+### Markdown, MkDocs, Mou
+
+The Mynewt documentation you see on the Apache incubator website is a bunch of HTML files generated using MkDocs which is a simple static site generation tool geared towards building project documentation. You can read about it at [http://www.mkdocs.org](http://www.mkdocs.org). Documentation source files are written in Markdown, and configured with a single YAML configuration file. Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool (which in our case is MkDocs).
+
+You do not need to install MkDocs unless you want to actually render your documentation in HTML before pushing your content to the remote repository. Typically, using a Markdown editor such as [Mou](http://25.io/mou/) is enough to check how it will look after the document has gone through MkDocs. Go ahead and download [Mou](http://25.io/mou/). If you are on a Windows machine, download the [editor of your choice](http://alternativeto.net/software/mou/?platform=windows).
+
+Currently someone in the project is designated to use MkDocs to generate the HTML pages periodically after changes have been reviewed and accepted by the group.
+
+### Making a local copy
+
+* Copy the document source files into a local directory and look at the contents of the copied directory to get an idea of the directory structure. 
+
+        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git
+        Cloning into 'incubator-mynewt-site'...
+        remote: Counting objects: 330, done.
+        remote: Compressing objects: 100% (263/263), done.
+        remote: Total 330 (delta 120), reused 0 (delta 0)
+        Receiving objects: 100% (330/330), 4.34 MiB | 830.00 KiB/s, done.
+        Resolving deltas: 100% (120/120), done.
+        Checking connectivity... done.
+        $ ls
+        incubator-mynewt-site
+        $ ls incubator-mynewt-site/
+        docs		images		mkdocs.yml
+        
+* Create a new branch to work on your documentation and move to that branch.
+
+        $ git checkout -b <your-branch-name>
+
+
+### File to be edited
+
+The file you will edit is [try_markdown.md](./try_markdown.md).
+
+### Editing an existing page 
+
+* Open the application Mou.
+
+* Open the file incubator-mynewt-site/docs/chapter1/try_markdown.md in Mou.
+
+* Edit the last item on the list.
+
+* Save and quit the application.
+
+### Adding a new page
+
+If you create a new file somewhere in the `docs` subdirectory to add a new page, you have to add a line in the `mkdocs.yml` file at the correct level. For example, if you add a new module named "Ethernet" by creating a new file named `ethernet.md` in the chapter5 subdirectory, you have to insert the following line under `Modules:` in the `mkdocs.yml` file.
+
+        - 'Ethernet': 'chapter5/ethernet.md'
+
+### Pushing changes to remote
+
+* Set up your remote git repository
+
+        $ git remote add origin https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git
+        $ git remote -v
+        origin	https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git (fetch)
+        origin	https://git-wip-us.apache.org/repos/asf/incubator-mynewt-site.git (push)
+        
+* Commit and push the changes to the remote repository.
+
+        $ git add -A 
+        $ git commit -m "Green Arrow's first doc change"
+        $ git push -u origin <your-branch-name>
+        
+ 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter1/pics/bottomview.png
----------------------------------------------------------------------
diff --git a/docs/chapter1/pics/bottomview.png b/docs/chapter1/pics/bottomview.png
new file mode 100644
index 0000000..fb7bf0a
Binary files /dev/null and b/docs/chapter1/pics/bottomview.png differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter1/pics/topview.png
----------------------------------------------------------------------
diff --git a/docs/chapter1/pics/topview.png b/docs/chapter1/pics/topview.png
new file mode 100644
index 0000000..e57995e
Binary files /dev/null and b/docs/chapter1/pics/topview.png differ

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter1/project1.md
----------------------------------------------------------------------
diff --git a/docs/chapter1/project1.md b/docs/chapter1/project1.md
index 100ce27..cff85f1 100644
--- a/docs/chapter1/project1.md
+++ b/docs/chapter1/project1.md
@@ -6,9 +6,7 @@ We will show you how you can use eggs from a nest on Mynewt to make an LED on a
  
 1. First, you will learn how to set up your environment to be ready to use Mynewt OS and newt tool. 
 2. Second, we will walk you through a download of eggs for building and testing [on a simulated target](#building-test-code-on-simulator) on a non-Windows machine.
-3. Third, you will download eggs and use tools to create a runtime image for a board to [make its LED blink](#making-an-led-blink). 
-
-If you want to explore even further, you can try to upload the image to the board's flash memory and have it [boot from flash](#using-flash-to-make-led-blink)!
+3. Third, you will download eggs and use tools to create a runtime image for a board to make its LED blink. You have two choices here - you can [download an image to SRAM](#making-an-led-blink-from-sram) or you can [download it to flash](#using-flash-to-make-led-blink).
 
 ### What you need
 
@@ -25,11 +23,16 @@ case, simply skip the corresponding installation step in the instructions under
 * Windows: Windows 10
 
 
-### Getting your Mac Ready
+### Access to the Apache repo
 
-#### Getting an account on GitHub
+* Get an account on Apache. 
 
-* Get an account on GitHub. Make sure you have joined the "Newt Operating System" organization.
+* The latest codebase for the Mynewt OS is on the master branch at  https://git-wip-us.apache.org/repos/asf/incubator-mynewt-larva.git
+
+* The latest codebase for the Newt tool is on the master branch at  https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git
+
+
+### Getting your Mac Ready
 
 #### Installing Homebrew to ease installs on OS X 
 
@@ -39,7 +42,7 @@ case, simply skip the corresponding installation step in the instructions under
 
     Alternatively, you can just extract (or `git clone`) Homebrew and install it to `/usr/local`.
 
-#### Creating local repository 
+#### Installing Go 
 
 * The directory structure must be first readied for using Go. Go code must be kept inside a workspace. A workspace is a directory hierarchy with three directories at its root:
 
@@ -59,20 +62,6 @@ case, simply skip the corresponding installation step in the instructions under
     Note that you need to add export statements to ~/.bash_profile to export variables permanently.
         $ vi ~/.bash_profile
 
-* The next step is to set up the repository for the package building tool "newt" on your local machine. First create the appropriate directory for it and then clone the newt tool repository from the online apache repository (or its github.com mirror) into this newly created directory. Check the installation.
-
-        $ mkdir -p $GOPATH/src/github.com/mynewt  
-        $ cd $GOPATH/src/github.com/mynewt
-        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git newt
-        $ ls
-        newt
-        $ cd newt
-        $ ls
-        Godeps                  README.md               coding_style.txt        newt.go
-        LICENSE                 cli                     design.txt
-
-#### Installing Go and Godep
-
 * Next you will use brew to install go. The summary message at the end of the installation should indicate that it is installed in the /usr/local/Cellar/go/ directory. You will use the go command 'install' to compile and install packages (called eggs in the Mynewt world) and dependencies. 
     
         $ brew install go
@@ -80,38 +69,50 @@ case, simply skip the corresponding installation step in the instructions under
         ==> 
         ==> *Summary*
         🍺  /usr/local/Cellar/go/1.5.1: 5330 files, 273M
-        $ cd $GOPATH/src/github.com/mynewt/newt
 
     Alternatively, you can download the go package directly from (https://golang.org/dl/) instead of brewing it. Install it in /usr/local directory.
-
-* Now you will get the godep package. Return to the go directory level and get godep. Check for it in the bin subdirectory. Add the go environment to path. Make sure it is added to your .bash_profile.
+    
+* You will now get the godep package. Make sure you are at the go directory level and get godep. Check for it in the bin subdirectory. Add the go environment to path. Make sure it is added to your .bash_profile.
 
         $ cd $GOPATH
         $ go get github.com/tools/godep
-        $ ls
-        bin     pkg     src
-        $ ls bin
+        $ ls src/github.com/tools/
         godep
         $ export PATH=$PATH:$GOPATH/bin 
 
-* Use the go command 'install' to compile and install packages and dependencies. In preparation for the install, you may use the godep command 'restore' to check out listed dependency versions in $GOPATH and link all the necessary files. Note that you may have to go to the `~/dev/go/src/github.com/mynewt/newt` directory to successfully run the restore command (e.g. on certain distributions of Linux). You may also have to do a `go get` before the restore to make sure all the necessary packages and dependencies are correct.
+#### Creating local repository
+
+* You are ready to download the newt tool repository. You will use "go" to copy the directory (currently the asf incubator directory). Be patient as it may take a minute or two. Check the directories installed.
+
+        $  go get git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git
+        $ $ ls
+         bin	pkg	   src
+        $ ls src
+        git-wip-us.apache.org	github.com		gopkg.in
+
+
+* Check that newt is installed.
+
+        $ ls $GOPATH/src/git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git/mkdir -p $GOPATH/src/github.com/mynewt  
+        Godeps			README.md		coding_style.txt    newt.go
+        LICENSE			cli			    design.txt
 
-        $ cd ~/dev/go/src/github.com/mynewt/newt
-        $ go get
-        $ ~/dev/go/bin/godep restore
-        $ go install
 
 #### Building the Newt tool
 
-* You will now use go to run the newt.go program to build the newt tool. You will have to use `go build` command which compiles and writes the resulting executable to an output file named `newt`. However, it does not install the results along with its dependencies in $GOPATH/bin (for that you will need to use `go install`). Now try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.
+* You will now use go to run the newt.go program to build the newt tool. You will have to use `go build` command which compiles and writes the resulting executable to an output file named `newt`. The `-o` option is used to specify a reasonable name such as `newt` for the the resulting executable and install the executable along with its dependencies in $GOPATH/bin. In preparation for the install, you may use the godep command 'restore' to check out listed dependency versions in $GOPATH and link all the necessary files. 
 
-Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in `export newt="go run $GOPATH/src/github.com/mynewt/newt/newt.go"` in your .bash_profile and execute it by calling `$newt` at the prompt instead of `newt`. Don't forget to reload the updated bash profile by typing `source ~/.bash_profile` at the prompt! Here, you use `go run` which runs the compiled binary directly without producing an executable.
+   However, it does not install the results along with its dependencies in $GOPATH/bin (for that you will need to use `go install`). 
+
+        $ ~/dev/go/bin/godep restore
+        $ go build -o "$GOPATH"/bin/newt
+        $ ls "$GOPATH"/bin/
+        godep		incubator-mynewt-newt.git	  newt
+
+* Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.
+
+   Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in `export newt="go run $GOPATH/src/github.com/mynewt/newt/newt.go"` in your .bash_profile and execute it by calling `$newt` at the prompt instead of `newt`. Don't forget to reload the updated bash profile by typing `source ~/.bash_profile` at the prompt! Here, you use `go run` which runs the compiled binary directly without producing an executable.
 
-        $ go run %GOPATH%/src/github.com/mynewt/newt/newt.go
-        $ cd ~/dev/go/src/github.com/mynewt/newt
-        $ ls
-        Godeps			README.md		coding_style.txt	newt
-        LICENSE			cli			design.txt		newt.go
         $ newt version
         Newt version:  1.0
         $ newt -h
@@ -178,7 +179,7 @@ Note: If you are going to be be modifying the newt tool itself often and wish to
         $ ls -al /usr/local/bin/arm-none-eabi-gdb
         lrwxr-xr-x  1 aditihilbert  admin  69 Sep 22 17:16 /usr/local/bin/arm-none-eabi-gdb -> /usr/local/Cellar/gcc-arm-none-eabi-49/20150609/bin/arm-none-eabi-gdb
 
-    Note: If no version is specified, brew will install the latest version available. StackOS will eventually work with multiple versions available including the latest releases. However, at present we have tested only with this version and recommend it for getting started. 
+    Note: If no version is specified, brew will install the latest version available. MynewtOS will eventually work with multiple versions available including the latest releases. However, at present we have tested only with this version and recommend it for getting started. 
     
 * You have to install OpenOCD (Open On-Chip Debugger) which is an open-source software that will allow you to interface with the JTAG debug connector/adaptor for the Olimex board. It lets you program, debug, and test embedded target devices which, in this case, is the Olimex board. Use brew to install it. Brew adds a simlink /usr/local/bin/openocd to the openocd directory in the Cellar.
 
@@ -228,30 +229,20 @@ Note: If you are going to be be modifying the newt tool itself often and wish to
 
         $ go get github.com/tools/godep 
 
-* Set up the repository for the package building tool "newt" on your local machine. First create the appropriate directory for it and then clone the newt tool repository from the online apache repository (or its github.com mirror) into this newly created directory. Check the contents of the directory.
 
-        $ mkdir -p $GOPATH/src/github.com/mynewt  
-        $ cd $GOPATH/src/github.com/mynewt
-        $ git clone https://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt.git newt
-        $ ls
-        newt
-        $ cd newt
-        $ ls
-        Godeps                  README.md               coding_style.txt        newt.go
-        LICENSE                 cli                     design.txt
+#### Building the newt tool
 
-* Use the go command 'install' to compile and install packages and dependencies. Add go environment to path. Again, to make the export variable permanent, add it to your ~/.bashrc (or equivalent) file.
 
-        $ $GOPATH/bin/godep restore 
-        $ go get 
-        $ go install 
-        $ export PATH=$PATH:$GOPATH/bin
+* You will now use go to run the newt.go program to build the newt tool. You will have to use `go build` command which compiles and writes the resulting executable to an output file named `newt`. The `-o` option is used to specify a reasonable name such as `newt` for the the resulting executable and install the executable along with its dependencies in $GOPATH/bin. In preparation for the install, you may use the godep command 'restore' to check out listed dependency versions in $GOPATH and link all the necessary files. 
 
-#### Building the newt tool
+        $ ~/dev/go/bin/godep restore
+        $ go build -o "$GOPATH"/bin/newt
+        $ ls "$GOPATH"/bin/
+        godep		incubator-mynewt-newt.git	  newt
 
-* You will now use go to run the newt.go program to build the newt tool. You will have to use `go build` command which compiles and writes the resulting executable to an output file named `newt`. However, it does not install the results along with its dependencies in $GOPATH/bin (for that you will need to use `go install`). Now try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.
+* Try running newt using the compiled binary. For example, check for the version number by typing 'newt version'. See all the possible commands available to a user of newt by typing 'newt -h'.
 
-Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in `export newt="go run $GOPATH/src/github.com/mynewt/newt/newt.go"` in your ~/.bashrc (or equivalent) and execute it by calling `$newt` at the prompt instead of `newt`. Here, you use `go run` which runs the compiled binary directly without producing an executable.
+   Note: If you are going to be be modifying the newt tool itself often and wish to compile the program every time you call it, you may want to store the command in a variable in your .bash_profile. So type in `export newt="go run $GOPATH/src/github.com/mynewt/newt/newt.go"` in your ~/.bashrc (or equivalent) and execute it by calling `$newt` at the prompt instead of `newt`. Here, you use `go run` which runs the compiled binary directly without producing an executable.
 
         $ go build %GOPATH%/src/github.com/mynewt/newt/newt.go
         $ cd ~/dev/go/src/github.com/mynewt/newt
@@ -506,7 +497,7 @@ tutorial for a Windows machine assumes the specified folders.
 
 #### Proceed to the [Building test code on simulator on Windows machine](#building-test-code-on-simulator) section.
 
-Note: Currently, the simulator cannot be run in the Windows machine. We are still working on it. So you will go ahead and [make an LED blink](#making-an-led-blink) on the Olimex hardware directly. 
+Note: Currently, the simulator cannot be run in the Windows machine. We are still working on it. So you will go ahead and [make an LED blink](#making-an-led-blink-from-sram) on the Olimex hardware directly. 
 
 However, before you skip to the hardware target, you still need to build your first nest as outlined in step 1 in the [Building test code on simulator](#building-test-code-on-simulator).
 
@@ -615,13 +606,13 @@ Note: Currently, the simulator cannot be run in the Windows machine. We are work
 
 Coming soon.
 
-### Making an LED blink
+### Making an LED blink from SRAM
 
 #### Preparing the Software
 
 1. Make sure the PATH environment variable includes the $HOME/dev/go/bin directory (or C:\%GOPATH%\bin on Windows machine). 
 
-    Substitute DOS commands for Unix commands as necessary in the following steps if your machine is running Windows. The newt tool commands do not change.
+    Substitute DOS commands for Unix commands as necessary in the following steps if your machine is running Windows (e.g. `cd dev\go` instead of `cd dev/go`). The newt tool commands do not change.
 
 
 2. You first have to create a repository for the project. Go to the ~dev/larva directory and build out a second project inside larva. The project name is "blinky", in keeping with the objective. Starting with the target name, you have to specify the different aspects of the project to pull the appropriate eggs and build the right package for the board. In this case that means setting the architecture (arch), compiler, board support package (bsp), project, and compiler mode.
@@ -648,7 +639,7 @@ Coming soon.
 	        name: blinky
 	        arch: cortex_m4
 
-3. Now you have to build the image. The linker script within the `hw/bsp/olimex_stm32-e407_devboard` egg builds an image for flash memory by default. Therefore, you need to switch that script with `run_from_sram.ld` in order to get the egg to produce an image for SRAM. <font color="red"> We are working on making it easier to specify where the executable will be run from for a particular project and automatically choose the correct linker scripts and generate the appropriate image. It will be specified as a project identity e.g. bootloader, RAM, flash (default) and the target will build accordingly. </font>. 
+3. Now you have to build the image. The linker script within the `hw/bsp/olimex_stm32-e407_devboard` egg builds an image for flash memory by default. Since you want an image for the SRAM, you need to switch that script with `run_from_sram.ld` in order to get the egg to produce an image for SRAM. <font color="red"> We are working on making it easier to specify where the executable will be run from for a particular project and automatically choose the correct linker scripts and generate the appropriate image. It will be specified as a project identity e.g. bootloader, RAM, flash (default) and the target will build accordingly. </font>. 
 
     Once the target is built, you can find the executable "blinky.elf" in the project directory at ~/dev/larva/project/blinky/bin/blinky. It's a good idea to take a little time to understand the directory structure.
 
@@ -679,40 +670,19 @@ Coming soon.
         blinky.elf	blinky.elf.bin	blinky.elf.cmd	blinky.elf.lst	blinky.elf.map
 
 
-4. Check that you have all the scripts needed to get OpenOCD up and talking with the project's specific hardware. Check whether you already have the scripts in your `/usr/share/openocd/scripts/ ` directory as they may have been part of the openocd download. If yes, you are all set and can proceed to preparing the hardware. If not, continue with this step.
-
-    Currently, the following 5 files are required. They are likely to be packed into a .tar file and made available under mynewt on github.com. Unpack it in the blinky directory using `tar xvfz` command. Go into the openocd directory created and make sure that the gdb-8888.cfg file indicates the correct file ('blinky.elf' in this case) to load and its full path. Specifically, add 'load ~/dev/larva/project/main/bin/blink/main.elf' and 'symbol-file ~/larva/larva/project/main/bin/blink/main.elf' to this file. Alternatively, you could load these files from within the debugger (gdb) as explained later in the project when you connect to the board using openocd.   
-
-    * ocd-8888.cfg
-    * olimex-arm-usb-tiny-h-ftdi.cfg
-    * arm-gdb.cfg
-    * gdb-dev_test-8888.cfg
-    * stm32f4x.cfg  
-    
-    Check the arm-gdb.cfg file and see whether the executable you created in the previous step is specified as the file to be loaded to the board. You have the choice of specifying the target and load from within the gdb debugger (Section "Let's Go", Step 2) instead.
-    
-        $ cat gdb-8888.cfg
-        echo \n*** Set target charset ASCII\n
-        set target-charset ASCII
-        #set arm fallback-mode arm
-        #echo \n*** set arm fallback-mode arm ***\n
-        echo \n*** Connecting to OpenOCD over port #8888 ***\n
-        target remote localhost:8888
-        echo \n*** loading nic.out.elf ***\n
-        load ~/dev/larva/project/main/bin/blink/main.elf
-        symbol-file ~/dev/larva/project/main/bin/blink/main.elf 
-        #echo *** Set breakpoint and run to main() to sync with gdb ***\n
-        #b main
-        #continue
-        #delete 1
-
-        #set arm fallback-mode thumb
-        #echo \n*** set arm fallback-mode thumb ***\n\n
-
-
-    Note that an OpenOCD configuration script is available from Olimex for the STM32-E407 development board e.g. at [https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/stm32f4x.cfg](https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/stm32f4x.cfg), however getting it to work with different versions of OpenOCD and gcc could get tricky. [<span style="color:red">*This will be simplified eventually into a consolidated single action step instead of manual tweaks currently required*</span>]
+4. Check that you have all the scripts needed to get OpenOCD up and talking with the project's specific hardware. Depending on your system (Ubuntu, Windows) you may already have the scripts in your `/usr/share/openocd/scripts/ ` directory as they may have been part of the openocd download. If yes, you are all set and can proceed to preparing the hardware.
 
+   Otherwise check the `~/dev/larva/hw/bsp/olimex_stm32-e407_devboard` directory for a file named `f407.cfg`. That is the config we will use to talk to this specific hardware using OpenOCD. You are all set if you see it.
+   
+        $ ls ~/dev/larva/hw/bsp/olimex_stm32-e407_devboard
+        bin					olimex_stm32-e407_devboard_debug.sh
+        boot-olimex_stm32-e407_devboard.ld	olimex_stm32-e407_devboard_download.sh
+        egg.yml					run_from_flash.ld
+        f407.cfg				run_from_loader.ld
+        include					run_from_sram.ld
+        olimex_stm32-e407_devboard.ld		src
 
+ 
 #### Preparing the hardware to boot from embedded SRAM
 
 1. Locate the boot jumpers on the board.
@@ -723,25 +693,45 @@ Coming soon.
 
 3. Connect USB-OTG#2 in the picture above to a USB port on your computer (or a powered USB hub to make sure there is enough power available to the board). 
 
-4. Connect the JTAG connector to the SWD/JTAG interface on the board. The other end of the cable should be connected to the USB port or hub of your computer.
+4. The red PWR LED should be lit. 
 
-5. The red PWR LED should be lit. 
+5. Connect the JTAG connector to the SWD/JTAG interface on the board. The other end of the cable should be connected to the USB port or hub of your computer.
 
-#### Let's Go!
 
-1. Go into the openocd directory and start an OCD session. You should see some status messages are shown below. Check the value of the msp (main service pointer) register. If it is not 0x10010000 as indicated below, you will have to manually set it after you open the gdp tool to load the image on it (next step). Note the `-c "reset halt"` flag that tells it to halt after opening the session. It will now require a manual "continue" command from the GNU debugger in step 3. 
 
-        $ cd ~/dev/larva/project/blinky/bin/blinky/openocd
-        $ openocd -f olimex-arm-usb-tiny-h-ftdi.cfg -f ocd-8888.cfg -f stm32f4x.cfg -c "reset halt" 
+#### Let's Go!
+
+1. Make sure you are in the blinky project directory with the blinky.elf executable. Run the debug command in the newt tool. You should see some status messages are shown below. There is an inbuilt `-c "reset halt"` flag that tells it to halt after opening the session.
+      
+        $ cd dev/larva/project/blinky/bin/blinky
+        $ newt target debug blinky
+        Debugging with /Users/aditihilbert/dev/larva/hw/bsp/olimex_stm32-e407_devboard/olimex_stm32-e407_devboard_debug.sh blinky
+        Debugging /Users/aditihilbert/dev/larva/project/blinky/bin/blinky/blinky.elf
+        GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
+        Copyright (C) 2014 Free Software Foundation, Inc.
+        License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+        This is free software: you are free to change and redistribute it.
+        There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
+        and "show warranty" for details.
+        This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
+        Type "show configuration" for configuration details.
+        For bug reporting instructions, please see:
+        <http://www.gnu.org/software/gdb/bugs/>.
+        Find the GDB manual and other documentation resources online at:
+        <http://www.gnu.org/software/gdb/documentation/>.
+        For help, type "help".
+        Type "apropos word" to search for commands related to "word"...
+        Reading symbols from /Users/aditihilbert/dev/larva/project/blinky/bin/        blinky/blinky.elf...done.
         Open On-Chip Debugger 0.8.0 (2015-09-22-18:21)
         Licensed under GNU GPL v2
         For bug reports, read
 	        http://openocd.sourceforge.net/doc/doxygen/bugs.html
         Info : only one transport option; autoselect 'jtag'
         adapter speed: 1000 kHz
-        adapter_nsrst_assert_width: 500
         adapter_nsrst_delay: 100
         jtag_ntrst_delay: 100
+        Warn : target name is deprecated use: 'cortex_m'
+        DEPRECATED! use 'cortex_m' not 'cortex_m3'
         cortex_m reset_config sysresetreq
         Info : clock speed 1000 kHz
         Info : JTAG tap: stm32f4x.cpu tap/device found: 0x4ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x4)
@@ -751,101 +741,31 @@ Coming soon.
         Info : JTAG tap: stm32f4x.bs tap/device found: 0x06413041 (mfg: 0x020, part: 0x6413, ver: 0x0)
         target state: halted
         target halted due to debug-request, current mode: Thread 
-        xPSR: 0x01000000 pc: 0x2000053c msp: 0x10010000 
-        
-    If your scripts are in `/usr/share/openocd/scripts/ ` directory you may need to provide the full path information in the arguments.
-    
-        $ openocd -f /usr/share/openocd/scripts/interface/ftdi/olimex-arm-usb-tiny-h.cfg -f /usr/share/openocd/scripts/target/stm32f4x.cfg -c "gdb_port 8888; init; reset halt" 
-        
-    If you are on a Windows machine, connect to the board with openocd using the following:
-    
-        $ cd C:\openocd
-        $ bin\openocd-0.8.0.exe -f scripts\interface\ftdi\olimex-arm-usb-tiny-h.cfg -f scripts\target\stm32f4x.cfg -c "gdb_port 8888; init; reset halt"
-
-2. Open a new terminal window and run the GNU debugger for ARM. Specifying the script gdb-8888.cfg tells it what image to load. You should now have a (gdb) prompt inside the debugger.
+        xPSR: 0x01000000 pc: 0x20000250 msp: 0x10010000
+        Info : accepting 'gdb' connection from 3333
+        Info : device id = 0x10036413
+        Info : flash size = 1024kbytes
+        Reset_Handler () at startup_STM32F40x.s:199
+        199	    ldr    r1, =__etext
 
-        $ cd ~/dev/larva/project/blinky/bin/blinky/openocd
-        $ arm-none-eabi-gdb -x gdb-8888.cfg 
-        GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150604-cvs
-        Copyright (C) 2014 Free Software Foundation, Inc.
-        License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
-        This is free software: you are free to change and redistribute it.
-        There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
-        and "show warranty" for details.
-        This GDB was configured as "--host=x86_64-apple-darwin10 --target=arm-none-eabi".
-        Type "show configuration" for configuration details.
-        For bug reporting instructions, please see:
-        <http://www.gnu.org/software/gdb/bugs/>.
-        Find the GDB manual and other documentation resources online at:
-        <http://www.gnu.org/software/gdb/documentation/>.
-        For help, type "help".
-        Type "apropos word" to search for commands related to "word".
-         
-        *** Set target charset ASCII
-         
-        *** Connecting to OpenOCD over port #8888 ***
-        0x20000580 in ?? ()
-         
-        *** loading image ***
-        Loading section .text, size 0x65d4 lma 0x20000000
-        Loading section .ARM.extab, size 0x24 lma 0x200065dc
-        Loading section .ARM.exidx, size 0xd8 lma 0x20006600
-        Loading section .data, size 0x8f8 lma 0x200066d8
-        Start address 0x2000053c, load size 28624
-        Transfer rate: 78 KB/sec, 2862 bytes/write.
-        (gdb)
-        
-    Instead of the script, you could connect to the openocd process and tell the debugger what image to load from within gdb (which is 'blinky.elf' in this case). Below is an example input/output when doing it on a Windows machine. Note the forward slashes.
-    
-        C:\dev\larva>arm-none-eabi-gdb -q
-        (gdb) target remote localhost:8888
-        Remote debugging using localhost:8888
-        0xb064f054 in ?? ()
-        ...
-        (gdb) load C:/dev/larva/project/blinky/bin/blinky/blinky.elf
-        Loading section .text, size 0x6778 lma 0x20000000
-        Loading section .ARM.extab, size 0x18 lma 0x20006778
-        Loading section .ARM.exidx, size 0xc8 lma 0x20006790
-        Loading section .data, size 0x8f8 lma 0x20006858
-        Start address 0x20000528, load size 29008
-        Transfer rate: 72 KB/sec, 2900 bytes/write.
-        (gdb) symbol-file C:/dev/larva/project/blinky/bin/blinky/blinky.elf
-        Reading symbols from C:/dev/larva/project/blinky/bin/blinky/blinky.elf...done.
-    
 
-3. From within gdb check the registers. Set the msp register for the main stack pointer to the expected value as shown here. 
-    
-    Finally, hit `c` to continue... and your green LED should blink!
-
-        (gdb) info reg all
-         r0             0x0	0
-         r1             0x0	0
-         r2             0x0	0
-         r3             0x0	0
-         r4             0x0	0
-         r5             0x0	0
-         r6             0x0	0
-         r7             0x0	0
-         r8             0x0	0
-         r9             0x0	0
-         r10            0x0	0
-         r11            0x0	0
-         r12            0x0	0
-         sp             0x10010000	0x10010000
-         lr             0xffffffff	-1
-         pc             0x20000580	0x20000580 <Reset_Handler>
-         xPSR           0x1000000	16777216
-         msp            0x10010000	0x10010000
-         psp            0x0	0x0
-         primask        0x0	0
-         basepri        0x0	0
-         faultmask      0x0	0
-         control        0x0	0
-         (gdb) set $msp=0x10010000
-         (gdb) c
-         Continuing.
+      Check the value of the msp (main service pointer) register. If it is not 0x10010000 as indicated above, you will have to manually set it after you open the gdp tool and load the image on it. 
+      
+        (gdb) set $msp=0x10010000
+      
+      Now load the image and type "c" or "continue" from the GNU debugger. 
+              
+        (gdb) load ~/dev/larva/project/blinky/bin/blinky/blinky.elf
+        Loading section .text, size 0x4294 lma 0x20000000
+        Loading section .ARM.extab, size 0x24 lma 0x20004294
+        Loading section .ARM.exidx, size 0xd8 lma 0x200042b8
+        Loading section .data, size 0x874 lma 0x20004390
+        Start address 0x20000250, load size 19460
+        Transfer rate: 81 KB/sec, 2432 bytes/write.
+        (gdb) c
+        Continuing.
          
-4. Voilà! The board's LED should be blinking at 1 Hz.
+2. Voilà! The board's LED should be blinking at 1 Hz.
 
 ### Using flash to make LED blink
 

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter1/try_markdown.md
----------------------------------------------------------------------
diff --git a/docs/chapter1/try_markdown.md b/docs/chapter1/try_markdown.md
new file mode 100644
index 0000000..4d6d7b3
--- /dev/null
+++ b/docs/chapter1/try_markdown.md
@@ -0,0 +1,21 @@
+## Try Markdown 
+
+### Heading3
+
+#### Heading4
+
+- - - 
+
+##### List
+
+* Start with one # for the largest heading (Heading1). The next smaller heading (Heading2) starts with ##. You can go all the way up to Heading 6 (######).
+
+* Heading4 (####) and Heading5 (#####) has been styled to show up underlined. Yes, it can be changed. If you are curious, you can look at the extra.css file in your repo branch.
+
+* It's **very** easy to do **bold** and *italics*.
+
+* See how this list has been made using *
+
+* Click on "Help" in Mou and then on "Markdown Syntax Reference".
+
+* <font color="red"> Substitute a sentence of your own here </font>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter2/mod.md
----------------------------------------------------------------------
diff --git a/docs/chapter2/mod.md b/docs/chapter2/mod.md
new file mode 100644
index 0000000..b34f014
--- /dev/null
+++ b/docs/chapter2/mod.md
@@ -0,0 +1,11 @@
+## Modules
+
+Mynewt offers several modules that run on top of the Mynewt OS for various functionality such as:
+
+* [console](console/index.html)
+* [shell](shell/index.html)
+* [bootloader](bootloader/index.html)
+* [file system](filesystem/index.html)
+* [automated testing](testutil/index.html)
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/context_switch.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/context_switch.md b/docs/chapter4/context_switch.md
new file mode 100644
index 0000000..d2e8b80
--- /dev/null
+++ b/docs/chapter4/context_switch.md
@@ -0,0 +1,149 @@
+# Scheduler/Context Switching
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe scheduler here
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in the scheduler are:
+
+* [os_sched_insert](#function-os_sched_insert)
+* [os_sched_walk](#function-os_sched_walk)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_sched_insert</font>
+
+```
+    os_error_t
+    os_sched_insert(struct os_task *t)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_sched_walk</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/event_queue.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/event_queue.md b/docs/chapter4/event_queue.md
new file mode 100644
index 0000000..6de4adb
--- /dev/null
+++ b/docs/chapter4/event_queue.md
@@ -0,0 +1,149 @@
+# Event Queues
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe scheduler here
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_eventq_init](#function-os_eventq_init)
+* [os_eventq_put2](#function-os_eventq_put2)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_eventq_init</font>
+
+```
+    void
+    os_eventq_init(struct os_eventq *evq)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_eventq_put2</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/heap.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/heap.md b/docs/chapter4/heap.md
new file mode 100644
index 0000000..b960c26
--- /dev/null
+++ b/docs/chapter4/heap.md
@@ -0,0 +1,149 @@
+# Heap
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature  here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_malloc_lock](#function-os_malloc_lock)
+* [os_malloc_unlock](#function-os_malloc_unlock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_malloc_lock</font>
+
+```
+    static void
+    os_malloc_lock(void)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_malloc_unlock</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/mbufs.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/mbufs.md b/docs/chapter4/mbufs.md
new file mode 100644
index 0000000..c2938fc
--- /dev/null
+++ b/docs/chapter4/mbufs.md
@@ -0,0 +1,150 @@
+# Mbufs
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_mbuf_pool_init](#function-os_mbuf_pool_init)
+* [os_mbuf_get](#function-os_mbuf_get)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_mbuf_pool_init</font>
+
+```
+    int 
+    os_mbuf_pool_init(struct os_mbuf_pool *omp, struct os_mempool *mp, 
+        uint16_t hdr_len, uint16_t buf_len, uint16_t nbufs)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_mbuf_get</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/memory_pool.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/memory_pool.md b/docs/chapter4/memory_pool.md
new file mode 100644
index 0000000..4048648
--- /dev/null
+++ b/docs/chapter4/memory_pool.md
@@ -0,0 +1,151 @@
+# Memory Pools
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_mempool_init](#function-os_mempool_init)
+* [os_memblock_get](#function-os_memblock_get)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_mempool_init</font>
+
+```
+    os_error_t
+    os_mempool_init(struct os_mempool *mp, int blocks, 
+                    int block_size, void *membuf, char *name)
+    
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_memblock_get</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/mutex.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/mutex.md b/docs/chapter4/mutex.md
new file mode 100644
index 0000000..86da970
--- /dev/null
+++ b/docs/chapter4/mutex.md
@@ -0,0 +1,150 @@
+# Mutex
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_mutex_init](#function-os_mutex_init)
+* [os_mutex_release](#function-os_mutex_release)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_mutex_init</font>
+
+```
+    os_error_t
+    os_mutex_init(struct os_mutex *mu)
+    
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_mutex_release</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/mynewt_os.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/mynewt_os.md b/docs/chapter4/mynewt_os.md
new file mode 100644
index 0000000..f1865c4
--- /dev/null
+++ b/docs/chapter4/mynewt_os.md
@@ -0,0 +1,167 @@
+# Mynewt OS 
+
+Insert introduction here  
+
+## Real-Time Kernel <Modify as you Wish>
+
+ Description
+
+## Real-Time OS <Modify as you Wish>
+
+ Description
+
+
+## Insert topic of your choice
+
+ Description
+
+## Features
+
+<Insert basic feature descriptions, how the various pieces fit together etc., what's special in Mynewt OS>
+
+* [Scheduler/context switching](context_switch.md)
+* [Time](time.md)
+* [Tasks](task.md)
+* [Event queues/callouts](event_queue.md)
+* [Semaphores](semaphore.md)
+* [Mutexes](mutex.md)
+* [Memory pools](memory_pool.md)
+* [Heap](heap.md)
+* [Mbufs](mbufs.md)
+* [Sanity](sanity.md)
+* [Porting OS to other platforms](port_os.md)
+
+## OS Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_idle_task](#function-os_idle_task)
+* [os_started](#function-os_started)
+* add the rest
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_idle_task</font>
+
+```
+    void
+    os_idle_task(void *arg)
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_started</font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/newt_os.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/newt_os.md b/docs/chapter4/newt_os.md
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/os_overview.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/os_overview.md b/docs/chapter4/os_overview.md
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/port_os.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/port_os.md b/docs/chapter4/port_os.md
new file mode 100644
index 0000000..1331dde
--- /dev/null
+++ b/docs/chapter4/port_os.md
@@ -0,0 +1,12 @@
+# Porting Mynewt OS
+
+
+This chapter describes how to adapt Newt OS to different processors. Adapting μC/OS-III to a microprocessor or a microcontroller is called porting. 
+
+
+## Description
+
+
+## Insert sections as you wish
+
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/sanity.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/sanity.md b/docs/chapter4/sanity.md
new file mode 100644
index 0000000..8b021f4
--- /dev/null
+++ b/docs/chapter4/sanity.md
@@ -0,0 +1,150 @@
+# Sanity
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_sanity_check_init](#function-os_sanity_check_init)
+* [os_sanity_check_list_lock](#function-os_sanity_check_list_lock)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_sanity_check_init</font>
+
+```
+    int 
+    os_sanity_check_init(struct os_sanity_check *sc)    
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_sanity_check_list_lock </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/semaphore.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/semaphore.md b/docs/chapter4/semaphore.md
new file mode 100644
index 0000000..c05a1a8
--- /dev/null
+++ b/docs/chapter4/semaphore.md
@@ -0,0 +1,149 @@
+# Semaphore
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_sem_init](#function-os_sem_init)
+* [os_sem_release](#function-os_sem_release)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_sem_init</font>
+
+```
+    os_error_t
+    os_sem_init(struct os_sem *sem, uint16_t tokens)    
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_sem_release </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/task.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/task.md b/docs/chapter4/task.md
new file mode 100644
index 0000000..52d6481
--- /dev/null
+++ b/docs/chapter4/task.md
@@ -0,0 +1,149 @@
+# Tasks
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [_clear_stack](#function-_clear_stack)
+* [os_task_next_id](#function-os_task_next_id)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function _clear_stack </font>
+
+```
+    static void
+    _clear_stack(os_stack_t *stack_bottom, int size) 
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_task_next_id </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter4/time.md
----------------------------------------------------------------------
diff --git a/docs/chapter4/time.md b/docs/chapter4/time.md
new file mode 100644
index 0000000..5daf9e9
--- /dev/null
+++ b/docs/chapter4/time.md
@@ -0,0 +1,149 @@
+# Time
+
+
+Insert synopsis here
+
+
+## Description
+
+Describe OS feature here 
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [os_time_get](#function-os_time_get)
+* [os_time_tick](#function-os_time_tick)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function os_time_get </font>
+
+```
+    os_time_t  
+    os_time_get(void) 
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function os_time_tick </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-site/blob/4c767112/docs/chapter5/bootloader.md
----------------------------------------------------------------------
diff --git a/docs/chapter5/bootloader.md b/docs/chapter5/bootloader.md
new file mode 100644
index 0000000..381630a
--- /dev/null
+++ b/docs/chapter5/bootloader.md
@@ -0,0 +1,148 @@
+# Bootloader
+
+Insert synopsis here
+
+
+## Description
+
+Describe module here, special features, how pieces fit together etc.
+
+## Data structures
+
+Replace this with the list of data structures used, why, any neat features
+
+## List of Functions
+
+<List all the functions here. Note how the anchors work. You put the text you want to show up as a link within [] and the relevant #heading within (). Note that the words of the heading need to be connected with a dash for the anchor to work. Hence the word "function" and the function name is connected with a dash, not underscore! And the header has to have at least 2 words for the anchor to work - that's how it is.>
+
+The functions available in this OS feature are:
+
+* [boot_slot_addr](#function-boot_slot_addr)
+* [boot_find_image_slot](#function-boot_find_image_slot)
+* add the rest
+
+
+## Function Reference
+
+------------------
+
+### <font color="2980b9">function boot_slot_addr </font>
+
+```
+    static void
+    boot_slot_addr(int slot_num, uint8_t *flash_id, uint32_t *address)
+
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function boot_find_image_slot </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
+   
+### <font color="#2980b9"> function next_one </font>
+
+```
+   <Insert function callout here >
+   
+```
+
+<Insert short description>
+
+
+#### Arguments
+
+| Arguments | Description |
+|-----------|-------------|
+| xx |  explain argument xx  |
+| yy |  explain argument yy  |
+
+#### Returned values
+
+List any values returned.
+Error codes?
+
+#### Notes 
+
+Any special feature/special benefit that we want to tout. 
+Does it need to be used with some other specific functions?
+Any caveats to be careful about (e.g. high memory requirements).
+
+#### Example
+
+<Add text to set up the context for the example here>
+
+```
+
+<Insert the code snippet here>
+
+```
+
+---------------------
\ No newline at end of file