aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-09-13 05:18:48 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-09-13 05:18:48 -0400
commit0b8f9396c9eff65d6fa36cc56259bf54f16a9443 (patch)
tree7456edc16f62e55d98a84a852d1052db9f8c947d
parent7f88212718f11b37e8d01fbd957c2dfa36392357 (diff)
downloadlibrambutan-0b8f9396c9eff65d6fa36cc56259bf54f16a9443.tar.gz
librambutan-0b8f9396c9eff65d6fa36cc56259bf54f16a9443.zip
fsmc: Half-ass job to get the docs done.
-rw-r--r--source/fsmc.rst35
1 files changed, 27 insertions, 8 deletions
diff --git a/source/fsmc.rst b/source/fsmc.rst
index dfd4916..c8f0125 100644
--- a/source/fsmc.rst
+++ b/source/fsmc.rst
@@ -4,11 +4,30 @@ FSMC
====
The Flexible Static Memory Controller (FSMC) is a peripheral which an
-be configured to control a variety of external memory chips. For
-example, it is used on the Maple Native to control the built-in SRAM
-chip.
-
-.. TODO [0.0.12] Add info on:
-..
-.. - Address, data, chip-select etc. pins
-.. - Memory bank organization
+be configured to control a variety of external memory chips.
+
+Normally, any variables in your program will be allocated space in RAM
+(notable exceptions are variables marked with ``const`` or
+:ref:`__FLASH__ <arm-gcc-attribute-flash>`). Without the FSMC, this
+space is limited to the amount that comes built-in to the chip's
+*internal* SRAM.
+
+The addition of the FSMC peripheral allows addtional memory to be
+used. For example, it is used on the Maple Native to interface with
+the board's built-in external SRAM chip. However, this extra memory
+comes at a cost: the FSMC uses a fairly large number of GPIOs.
+
+The FSMC peripheral is currently only available on the Maple Native.
+On that board, we have broken out a wide variety of the FSMC lines, so
+that experienced users can add additional external memory chips to
+suit their own applications' purposes.
+
+.. TODO Find some tutorials on SRAM or write one on FSMC, specifically
+.. ones that cover: address, data, chip-select etc. pins, memory bank
+.. organization
+
+Recommended Reading
+-------------------
+
+- Wikipedia article on `SRAM <http://en.wikipedia.org/wiki/Static_random-access_memory>`_
+- :ref:`ST RM0008 <maple-native-b-stdocs>` chapter on FSMC.