aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/language.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-04-26 03:27:10 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-04-26 03:27:10 -0400
commit1f98566c939c84a986ee8b60fde6aa601c3521da (patch)
tree8a0069ca9758bf6f3952bd71bf1a7c149d161bc1 /docs/source/language.rst
parent621706150fc55b8266229131cc7fb6db6b2f7cd9 (diff)
downloadlibrambutan-1f98566c939c84a986ee8b60fde6aa601c3521da.tar.gz
librambutan-1f98566c939c84a986ee8b60fde6aa601c3521da.zip
0.0.10 Documentation checkpoint.
The vast majority of the Maple-specific values have been pulled out of the higher-level overview pages and replaced with refs into documents under /docs/source/hardware/. Much of the work that's left to be done in this regard is labeled with versioned TODO and FIXME comments. Suggestions from StephenFromNYC and gbulmer were incorporated from this forum thread: http://forums.leaflabs.com/topic.php?id=703
Diffstat (limited to 'docs/source/language.rst')
-rw-r--r--docs/source/language.rst65
1 files changed, 37 insertions, 28 deletions
diff --git a/docs/source/language.rst b/docs/source/language.rst
index 111a1f1..3ecbe43 100644
--- a/docs/source/language.rst
+++ b/docs/source/language.rst
@@ -10,8 +10,7 @@ The Maple can be programmed in the `Wiring
<http://www.wiring.org.co/reference/>`_ language, which is the same
language used to program the `Arduino <http://arduino.cc/>`_ boards.
-.. TODO Wiring tutorial -- just describe setup()/loop(), then link to
-.. some of the the bajillion external tutorials
+.. TODO [0.2.0?] Wiring tutorial
C or C++ programmers curious about the differences between the Wiring
language and C++ may wish to skip to the
@@ -20,31 +19,29 @@ language and C++ may wish to skip to the
.. contents:: Contents
:local:
-.. _language-lang-docs:
-
-Maple Language Reference
-------------------------
+.. admonition:: **Looking for Something Else?**
-The following table summarizes the available core language features.
-A more exhaustive index is available at the :ref:`language-index`.
+ - See the :ref:`libraries` for extra built-in libraries for dealing
+ with different kinds of hardware.
-.. FIXME mention Maple Native supports malloc(), free(), operator
-.. new(), and operator delete(), when that is a true thing to say.
+ - If you're looking for something from the C standard library (like
+ ``atoi()``, for instance): the :ref:`CodeSourcery GCC compiler
+ <arm-gcc>` used to compile your programs is configured to link
+ against `newlib <http://sourceware.org/newlib/>`_, and allows the
+ use of any of its header files. However, dynamic memory allocation
+ (``malloc()``, etc.) is not available.
-**Looking for something else?**
+ - If you're looking for pointers to low-level details, see this page's
+ :ref:`Recommended Reading <language-recommended-reading>`.
-- See the :ref:`libraries` for extra built-in libraries for dealing
- with different kinds of hardware.
+.. _language-lang-docs:
-- If you're looking for something from the C standard library (like
- ``atoi()``, for instance): the :ref:`CodeSourcery GCC compiler
- <arm-gcc>` used to compile your programs is configured to link
- against `newlib <http://sourceware.org/newlib/>`_, and allows the
- use of any of its header files. However, dynamic memory allocation
- (``malloc()``, etc.) is not available.
+Maple Language Reference
+------------------------
-- If you're looking for low-level details, see the :ref:`libmaple
- <libmaple>` reference page.
+The following table summarizes the most important core language
+features. An exhaustive index is available at the
+:ref:`language-index`.
+--------------------------------------------+----------------------------------------------+---------------------------------------------------+
| Structure | Variables | Functions |
@@ -458,14 +455,26 @@ Which could plausibly be turned into the final source file ::
while (true) loop();
}
+.. _language-recommended-reading:
+
Recommended Reading
-------------------
-* `newlib Documentation <http://sourceware.org/newlib/>`_
-
* :ref:`libmaple Documentation <libmaple>`
-
-* ST documentation:
-
- * `Reference Manual <http://www.st.com/stonline/products/literature/rm/13902.pdf>`_ (pdf)
- * `Programming Manual <http://www.st.com/stonline/products/literature/pm/15491.pdf>`_ (assembly language and register reference)
+* Your board's :ref:`Board Hardware Documentation <index-boards>` page
+* ST Documentation:
+ * Reference Manual `RM0008
+ <http://www.st.com/stonline/products/literature/rm/13902.pdf>`_
+ (PDF). This is the most important reference work on the STM32
+ line, and covers the low-level hardware capabilities and
+ interfaces in great detail.
+ * `Programming Manual
+ <http://www.st.com/stonline/products/literature/pm/15491.pdf>`_
+ (PDF). This is an assembly language and register reference for
+ the STM32 line.
+* ARM Documentation:
+ * `Cortex-M3 Technical Reference Manual, Revision r1p1
+ <http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337e/DDI0337E_cortex_m3_r1p1_trm.pdf>`_
+ (PDF). This ARM manual specifies much of the the Cortex M3
+ Architecture, including instruction timings.
+* `newlib Documentation <http://sourceware.org/newlib/>`_