diff options
author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-13 05:18:48 -0400 |
---|---|---|
committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-09-13 05:18:48 -0400 |
commit | 0b8f9396c9eff65d6fa36cc56259bf54f16a9443 (patch) | |
tree | 7456edc16f62e55d98a84a852d1052db9f8c947d | |
parent | 7f88212718f11b37e8d01fbd957c2dfa36392357 (diff) | |
download | librambutan-0b8f9396c9eff65d6fa36cc56259bf54f16a9443.tar.gz librambutan-0b8f9396c9eff65d6fa36cc56259bf54f16a9443.zip |
fsmc: Half-ass job to get the docs done.
-rw-r--r-- | source/fsmc.rst | 35 |
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. |