aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/hardware/maple.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-06-11 19:25:29 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-06-11 20:05:33 -0400
commit0c2b3c667bf157dc2344e3dbc2aae0e11e37387b (patch)
tree3008ee192c80f17f640ebdeb870442e78415ce6b /docs/source/hardware/maple.rst
parentd4b576fcadecf66b7b754af7d204bb6f3b4a9830 (diff)
downloadlibrambutan-0c2b3c667bf157dc2344e3dbc2aae0e11e37387b.tar.gz
librambutan-0c2b3c667bf157dc2344e3dbc2aae0e11e37387b.zip
Remove reST documentation, attendant updates.
The documentation covers topics not specifically relevant to libmaple, so it doesn't make sense for it to be part of the libmaple source distribution. Delete the docs/ tree, and prepare libmaple for use with the new leaflabs-docs repo, which will contain the docs from now on. * README: update to reflect this change * support/doxygen/Doxyfile: This is the old docs/Doxyfile * Makefile: Add a doxygen target * wirish/comm/HardwareSerial.h: fix reference to docs/. The comment informing maintainers that the HardwareSerial interface is documented by hand refers to the docs/ tree, which no longer exists. Update it to refer to the separate leaflabs-docs repository. * support/scripts/copy-to-ide: No longer build the documentation
Diffstat (limited to 'docs/source/hardware/maple.rst')
-rw-r--r--docs/source/hardware/maple.rst572
1 files changed, 0 insertions, 572 deletions
diff --git a/docs/source/hardware/maple.rst b/docs/source/hardware/maple.rst
deleted file mode 100644
index 91198f2..0000000
--- a/docs/source/hardware/maple.rst
+++ /dev/null
@@ -1,572 +0,0 @@
-.. highlight:: sh
-
-.. _maple:
-
-Maple
-=====
-
-This page is a general resource for information specific to the Maple.
-
-.. contents:: Contents
- :local:
-
-.. TODO [dma.rst] Ref to dma.rst in sequel instead of libmaple-dma
-.. TODO [nvic.rst] Ref to nvic.rst in sequel
-
-Technical Specifications
-------------------------
-
-* MCU: **STM32F103RBT6**, a 32-bit ARM Cortex M3 microprocessor
-* Clock Speed: **72 MHz**
-* **128 KB Flash** and **20 KB SRAM**
-* 43 Digital I/O Pins (:ref:`gpio`)
-* 15 **PWM** pins at 16 bit resolution (:ref:`pwm`)
-* 15 analog input pins, 12-bit **ADC** resolution (:ref:`adc`)
-* 2 **SPI** peripherals (:ref:`spi`)
-* 2 **I2C** peripherals (:ref:`i2c`)
-* 7 Channels of Direct Memory Access (**DMA**) (:ref:`libmaple-dma`)
-* 3 **USART** peripherals (:ref:`usart`)
-* One advanced and three general-purpose **timers** (:ref:`timers`)
-* Dedicated **USB** port for programming and communications (:ref:`usb`)
-* **JTAG** (:ref:`jtag`)
-* Nested Vectored Interrupt Controller (NVIC) (including
- :ref:`external interrupt <external-interrupts>` on GPIOs)
-* Supplies up to 500 mA at 3.3 V, with separate 250 mA digital and
- analog regulators for low-noise analog performance
-* :ref:`Four layer design <maple-hardware>`
-* Support for low power, sleep, and standby modes (<500 μA)
-* Operating Voltage: 3.3 V
-* Input Voltage (recommended): 4 V — 12 V
-* Dimensions: 2.05″ × 2.1″
-
-.. _maple-identify-rev:
-
-Identifying your Rev
---------------------
-
-We went through three versions ("Revs") of the Maple hardware: Rev 1,
-Rev 3, and Rev 5 [#frev2_4]_; Rev 5, the final design, is currently on
-sale. The following sections will help you to help you identify your
-Rev.
-
-Rev 5
-^^^^^
-
-These boards went on sale in November 2010. They have white buttons
-and "r5" in small print near the "LeafLabs Maple" text next to the
-"infinity leaf" logo. The Maple Rev 5 repositioned the double header
-on the right hand side to better fit 0.1 inch pitch breadboard. This
-necessitated the removal of pins 21 and 22 from the double header;
-they are still available, but don't have any headers installed on
-them.
-
-.. figure:: /_static/img/maple_rev5.png
- :align: center
- :alt: Maple Rev 5
-
-Rev 3
-^^^^^
-
-This batch of boards went on sale beginning in May 2010. They have a
-darker red silkscreen and the "infinity leaf" logo. The Maple Rev 3
-was the first version which includes the built-in button, labeled BUT.
-
-.. figure:: /_static/img/maple_rev3.png
- :align: center
- :alt: Maple Rev 3
-
-Rev 1
-^^^^^
-
-A small number of Maple Rev 1 boards went on sale in late 2009. They
-have a light red silkscreen and a single pixelated leaf as a logo.
-
-.. figure:: /_static/img/maple_rev1.png
- :align: center
- :alt: Maple Rev 1
-
-.. _maple-powering:
-
-Powering the Maple
-------------------
-
-The Maple's power source is determined by the header to the left of
-the "LeafLabs" label on the silkscreen. All versions of the Maple can
-be powered from the barrel jack connector, USB, or a LiPo battery. We
-ship the Maple with a jumper on the USB selector. In order to power
-it off of an alternative source, unplug the Maple, then move the
-jumper to the desired selector before reconnecting power.
-
-You can also power the Maple via the pin labeled "Vin" on the lower
-header. This pin feeds into both the digital and analog voltage
-regulators. However, don't do this while simultaneously powering the
-board from another source, or you could damage it.
-
-.. warning:: Silkscreens on Maples up through Rev 5s manufactured in
- Spring 2011 falsely indicated that the barrel jack could be
- supplied by up to 18 V. We recommend a barrel jack input voltage
- **no greater than 12 V**.
-
- See :ref:`this erratum <maple-barrel-jack>` for more information.
-
-Using the Built-in Battery Charger
-----------------------------------
-
-Maples Rev 3 and Rev 5 also have a built-in LiPo battery charger. In
-order to use it, put a jumper across the CHRG header on the power
-selection header and across the USB, or EXT selectors, depending on
-whether you're charging the battery via USB cable or barrel jack
-connector. The LED labeled CHRG will light up while the battery is
-being charged. When the battery is finished charging, the LED labeled
-DONE will also light up.
-
-.. _maple-gpios:
-
-GPIO Information
-----------------
-
-The Maple features 38 ready-to-use general purpose input/output (see
-:ref:`gpio`) pins for digital input/output, numbered ``D0`` through
-``D37``. These numbers correspond to the numeric values next to each
-header on the Maple silkscreen.
-
-.. _maple-ret6-but:
-
-Pin ``D38`` is the board's :ref:`button pin <lang-board-values-but>`.
-It is thus mainly useful as an :ref:`input <lang-pin-levels>`. The
-pin will :ref:`read <lang-digitalread>` ``HIGH`` when the :ref:`button
-is pressed <lang-isbuttonpressed>`.
-
-More GPIOs (numbered ``D39``\ --``D42`` on the back of the Maple's
-silkscreen) are available if you use the :ref:`lang-disabledebugports`
-function; see the :ref:`board-specific debug pin constants
-<lang-board-values-debug>` for more information. (See :ref:`this
-erratum <maple-nrst-pb4>` for information about the pin numbered
-``43`` on the silkscreen).
-
-.. TODO [0.1.0] silkscreen pictures which expand abbreviations
-
-.. _maple-pin-map-master:
-
-Master Pin Map
-^^^^^^^^^^^^^^
-
-This table shows a summary of the available functionality on every
-GPIO pin, by peripheral type. The "5 V?" column documents whether or
-not the pin is :ref:`5 volt tolerant <gpio-5v-tolerant>`.
-
-.. csv-table::
- :header: Pin, :ref:`GPIO <gpio>`, :ref:`ADC <adc>`, :ref:`Timer <timers>`, :ref:`I2C <i2c>`, :ref:`UART <usart>`, :ref:`SPI <spi>`, 5 V?
-
- D0, PA3, CH3, 2_CH4, -, 2_RX, -, -
- D1, PA2, CH2, 2_CH3, -, 2_TX, -, -
- D2, PA0, CH0, 2_CH1_ETR, -, 2_CTS, -, -
- D3, PA1, CH1, 2_CH2, -, 2_RTS, -, -
- D4, PB5, -, -, 1_SMBA, -, -, -
- D5, PB6, -, 4_CH1, 1_SCL, -, -, Yes
- D6, PA8, -, 1_CH1, -, 1_CK, -, Yes
- D7, PA9, -, 1_CH2, -, 1_TX, -, Yes
- D8, PA10, -, 1_CH3, -, 1_RX, -, Yes
- D9, PB7, -, 4_CH2, 1_SDA, -, -, Yes
- D10, PA4, CH4, -, -, 2_CK, 1_NSS, -
- D11, PA7, CH7, 3_CH2, -, -, 1_MOSI, -
- D12, PA6, CH6, 3_CH1, -, -, 1_MISO, -
- D13, PA5, CH5, -, -, -, 1_SCK, -
- D14, PB8, -, 4_CH3, -, -, -, Yes
- D15, PC0, CH10, -, -, -, -, -
- D16, PC1, CH11, -, -, -, -, -
- D17, PC2, CH12, -, -, -, -, -
- D18, PC3, CH13, -, -, -, -, -
- D19, PC4, CH14, -, -, -, -, -
- D20, PC5, CH15, -, -, -, -, -
- D21, PC13, -, -, -, -, -, -
- D22, PC14, -, -, -, -, -, -
- D23, PC15, -, -, -, -, -, -
- D24, PB9, -, 4_CH4, -, -, -, Yes
- D25, PD2, -, 3_ETR, -, -, -, Yes
- D26, PC10, -, -, -, -, -, Yes
- D27, PB0, CH8, 3_CH3, -, -, -, -
- D28, PB1, CH9, 3_CH4, -, -, -, -
- D29, PB10, -, -, 2_SCL, 3_TX, -, Yes
- D30, PB11, -, -, 2_SDA, 3_RX, -, Yes
- D31, PB12, -, -, 2_SMBA, 3_CK, 2_NSS, Yes
- D32, PB13, -, -, -, 3_CTS, 2_SCK, Yes
- D33, PB14, -, -, -, 3_RTS, 2_MISO, Yes
- D34, PB15, -, -, -, -, 2_MOSI, Yes
- D35, PC6, -, -, -, -, -, Yes
- D36, PC7, -, -, -, -, -, Yes
- D37, PC8, -, -, -, -, -, Yes
- D38, PC9, -, -, -, -, -, Yes
- D39, PA13, -, -, -, -, -, Yes
- D40, PA14, -, -, -, -, -, Yes
- D41, PA15, -, -, -, -, -, Yes
- D42, PB3, -, -, -, -, -, Yes
-
-.. _maple-gpio-port-map:
-
-GPIO Port Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows what pins are associated with each
-:ref:`GPIO port <gpio-ports>`.
-
-.. csv-table::
- :header: GPIOA, GPIOB, GPIOC
-
- PA0: D2, PB0: D27, PC0: D15
- PA1: D3, PB1: D28, PC1: D16
- PA2: D1, PB2: -, PC2: D17
- PA3: D0, PB3: D42, PC3: D18
- PA4: D10, PB4: D43, PC4: D19
- PA5: D13, PB5: D4, PC5: D20
- PA6: D12, PB6: D5, PC6: D35
- PA7: D11, PB7: D9, PC7: D36
- PA8: D6, PB8: D14, PC8: D37
- PA9: D7, PB9: D24, PC9: D38
- PA10: D8, PB10: D29, PC10: D26
- PA11: -, PB11: D30, PC11: -
- PA12: -, PB12: D31, PC12: -
- PA13: D39, PB13: D32, PC13: D21
- PA14: D40, PB14: D33, PC14: D22
- PA15: D41, PB15: D34, PC15: D23
-
-.. _maple-timer-map:
-
-Timer Pin Map
-^^^^^^^^^^^^^
-
-The following table shows what pins are associated with a particular
-timer's capture/compare channels.
-
-.. csv-table::
- :header: Timer, Ch. 1, Ch. 2, Ch. 3, Ch. 4
- :delim: |
-
- 1 | D6 | D7 | D8 | -
- 2 | D2 | D3 | D1 | D0
- 3 | D12 | D11 | D27 | D28
- 4 | D5 | D9 | D14 | D24
-
-.. _maple-exti-map:
-
-EXTI Line Pin Map
-^^^^^^^^^^^^^^^^^
-
-The following table shows which pins connect to which :ref:`EXTI lines
-<external-interrupts-exti-line>` on the Maple.
-
-.. list-table::
- :widths: 1 1
- :header-rows: 1
-
- * - EXTI Line
- - Pins
- * - EXTI0
- - 2, 15, 27
- * - EXTI1
- - 3, 16, 28
- * - EXTI2
- - 1, 17, 25
- * - EXTI3
- - 0, 18, 42
- * - EXTI4
- - 10, 19
- * - EXTI5
- - 4, 13, 20
- * - EXTI6
- - 5, 12, 35
- * - EXTI7
- - 9, 11, 36
- * - EXTI8
- - 6, 14, 37
- * - EXTI9
- - 7, 25, 28
- * - EXTI10
- - 8, 26, 29
- * - EXTI11
- - 30
- * - EXTI12
- - 31
- * - EXTI13
- - 21, 32, 39
- * - EXTI14
- - 22, 33, 40
- * - EXTI15
- - 23, 34, 41
-
-.. _maple-usart-map:
-
-USART Pin Map
-^^^^^^^^^^^^^
-
-The Maple has three serial ports (also known as USARTs): ``Serial1``,
-``Serial2``, and ``Serial3``. They communicate using the pins
-summarized in the following table:
-
-.. csv-table::
- :header: Serial Port, TX, RX, CK, CTS, RTS
- :delim: |
-
- ``Serial1`` | 7 | 8 | 6 | - | -
- ``Serial2`` | 1 | 0 | 10 | 2 | 3
- ``Serial3`` | 29 | 30 | 31 | 32 | 33
-
-.. _maple-adc-bank:
-
-Low-Noise ADC Pins
-^^^^^^^^^^^^^^^^^^
-
-The six pins at the bottom right of the board (D15—D20) generally
-offer lower-noise ADC performance than other pins on the board. If
-you’re concerned about getting good ADC readings, we recommend using
-one of these pins to take your measurements.
-
-Maple has an electrically isolated analog power plane with its own
-regulator, and a geometrically isolated ground plane. Pins D15—D20 are
-laid out to correspond with these analog planes, and our measurements
-indicate that they generally have the lowest noise of all the analog
-lines. However, analog performance may vary depending upon the
-activity of the other GPIOs. Consult the :ref:`Maple hardware design
-files <maple-hardware>` for more details.
-
-Board-Specific Values
----------------------
-
-This section lists the Maple's :ref:`board-specific values
-<lang-board-values>`.
-
-- ``CYCLES_PER_MICROSECOND``: 72
-- ``BOARD_BUTTON_PIN``: 38
-- ``BOARD_LED_PIN``: 13
-- ``BOARD_NR_GPIO_PINS``: 44 (however, :ref:`pin D43 is not usable
- <maple-nrst-pb4>`)
-- ``BOARD_NR_PWM_PINS``: 15
-- ``boardPWMPins``: 0, 1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 14, 24, 27, 28
-- ``BOARD_NR_ADC_PINS``: 15
-- ``boardADCPins``: 0, 1, 2, 3, 10, 11, 12, 15, 16, 17, 18, 19, 20, 27, 28
-- ``BOARD_NR_USED_PINS``: 7
-- ``boardUsedPins``: ``BOARD_LED_PIN``, ``BOARD_BUTTON_PIN``,
- ``BOARD_JTMS_SWDIO_PIN``, ``BOARD_JTCK_SWCLK_PIN``,
- ``BOARD_JTDI_PIN``, ``BOARD_JTDO_PIN``, ``BOARD_NJTRST_PIN``
-- ``BOARD_NR_USARTS``: 3
-- ``BOARD_USART1_TX_PIN``: 7
-- ``BOARD_USART1_RX_PIN``: 8
-- ``BOARD_USART2_TX_PIN``: 1
-- ``BOARD_USART2_RX_PIN``: 0
-- ``BOARD_USART3_TX_PIN``: 29
-- ``BOARD_USART3_RX_PIN``: 30
-- ``BOARD_NR_SPI``: 2
-- ``BOARD_SPI1_NSS_PIN``: 10
-- ``BOARD_SPI1_MOSI_PIN``: 11
-- ``BOARD_SPI1_MISO_PIN``: 12
-- ``BOARD_SPI1_SCK_PIN``: 13
-- ``BOARD_SPI2_NSS_PIN``: 31
-- ``BOARD_SPI2_MOSI_PIN``: 34
-- ``BOARD_SPI2_MISO_PIN``: 33
-- ``BOARD_SPI2_SCK_PIN``: 32
-- ``BOARD_JTMS_SWDIO_PIN``: 39
-- ``BOARD_JTCK_SWCLK_PIN``: 40
-- ``BOARD_JTDI_PIN``: 41
-- ``BOARD_JTDO_PIN``: 42
-- ``BOARD_NJTRST_PIN``: :ref:`43 <maple-nrst-pb4>`
-
-.. _maple-hardware:
-
-Hardware Design Files
----------------------
-
-The hardware schematics and board layout files are available in the
-`Maple GitHub repository <https://github.com/leaflabs/maple>`_. The
-design files for Rev 1, Rev 3, and Rev 5 are respectively in the
-``maple-r1``, ``maple-r3``, and ``maple-r5`` subdirectories. A
-schematic for a JTAG adapter suitable for use with Maple is available
-in the ``jtagadapter`` directory.
-
-From the GitHub repository main page, you can download the entire
-repository by clicking the "Download" button. If you are familiar
-with `Git <http://git-scm.com/>`_, you can also clone the repository
-at the command line with ::
-
- $ git clone git://github.com/leaflabs/maple.git
-
-.. _maple-failure-modes:
-
-Failure Modes
--------------
-
-The following are known failure modes. The failure modes aren't
-design errors, but are easy ways to break or damage your board
-permanently.
-
-* **High voltage on non-tolerant pins**: not all header pins are 5V
- compatible; so e.g. connecting certain serial devices in the wrong
- way could over-voltage the pins. The :ref:`pin-mapping master table
- <maple-pin-map-master>` details which pins are :ref:`5 V tolerant
- <gpio-5v-tolerant>`.
-
-Errata
-------
-
-This section documents design flaws and other errors.
-
-General
-^^^^^^^
-
-.. _maple-barrel-jack:
-
-* **Barrel jack power supply voltage mistake**: The acceptable voltage
- range given next to the barrel jack on the Maple through Rev 5s
- manufactured in Spring 2011 is **incorrect**. The given range is 7
- V — 18 V. In fact, **18 V is too high** and should not be supplied
- to your board. The recommended maximum voltage you should apply is
- **12 V**.
-
- The original voltage regulators used on the Maple were rated up to
- 18 V. However, the voltage regulators on current Maple Revs are
- rated up to 16 V. Our tests indicate that they operate correctly
- through 12 V. We do not recommend higher input voltages.
-
-.. _maple-nrst-pb4:
-
-* **Reset and PB4 tied together**: The Maple's reset line is also
- connected to PB4, which is labeled on the silkscreen as pin 43.
- Thus, attempting to use pin 43 as a GPIO can reset your board. This
- has other implications. Since PB4 is also the JTAG NJTRST line,
- this prevents the :ref:`JTAG <jtag>` "reset halt" command from
- working properly.
-
-.. _maple-power-supply:
-
-* **Power supply marketing mistake**: We originally sold the Maple
- advertising that it was capable of supplying up to 800 mA; the
- correct value is 500 mA.
-
-.. _maple-pwm-marketing:
-
-* **PWM marketing mistake**: We originally advertised the Maple as
- having 22 PWM-capable pins; the correct number is 15.
-
-.. _maple-adc-marketing:
-
-* **ADC marketing mistake**: We originally advertised the Maple as
- having 16 analog input pins. Due to :ref:`the following issue
- <maple-adc-led>`, the correct number is 15.
-
-.. _maple-adc-led:
-
-* **ADC on BOARD_LED_PIN**: We originally sold the Maple RET6 Edition
- advertising 16 analog input lines. However, one of them (the one on
- pin 13) is also connected to the built-in LED. The voltage drop
- across the LED means that the analog to digital converter on that
- pin is not really useful. While it is still usable, its readings
- will be incorrect.
-
-
-By Rev
-^^^^^^
-
-The following subsections lists known issues and warnings for each
-revision of the Maple board.
-
-Rev 5
-~~~~~
-
-* **Pin 3 AIN missing**: Pin 3 is capable of analog input, but on Rev
- 5s manufactured during Fall 2010, the corresponding "AIN" is missing
- from its silkscreen. This mistake was fixed in later manufacturing
- runs.
-
-Rev 3
-~~~~~
-
-* **Pin 3 AIN missing**: Pin 3 is capable of analog input, but the
- corresponding "AIN" is missing from the Rev 3 silkscreen.
-
-.. _maple-rev3-bad-buttons:
-
-* **Bad/Sticky Buttons**: a number of Rev 3 boards sold in May-June 2010
- have questionable RESET and BUT buttons.
-
- What seems to have happened is that the flux remover we used to
- clean the boards before shipping eroded the plastic internals, which
- resulted in intermittent functionality. All buttons on all shipped
- boards did function in testing, but some may have been unreliable in
- regular use.
-
- If you have this problem, we will be happy to ship you new buttons
- if you think you can re-solder them yourself, or you can ship us
- your board and we will swap out that part.
-
- For reference, the button part number is KMR211GLFS and the flux
- remover we used is "Precision Electronics Cleaner" from RadioShack,
- which is "Safe on most plastics" and contains Dipropylene glycol
- monomethyl ether, hydrotreated heavy naphtha, dipropylene glycol
- methyl ether acetate, and carbon dioxide.
-
-* **Resistors on pins 0 and 1**: these header pins, which are RX/TX on
- USART2 (:ref:`Serial2 <lang-serial>`), have resistors in-line
- between the STM32 and the headers. These resistors increase the
- impedance of the lines for ADC reads and affect the open drain GPIO
- functionality of the pins.
-
- These resistors were accidentally copied over from older Arduino USB
- designs, where they appear to protect the USB-Serial converter from
- TTL voltage on the headers.
-
-* **Silkscreen Errors**: the silkscreen on the bottom indicated PWM
- functionality on pin 25 and listen the external header GND pin as
- number 38 (actually 38 is connected to the BUT button). We manually
- sharpied over both of these mistakes.
-
-Rev 1
-~~~~~
-
-* **ADC noise**: generally very high, in particular when the USB port
- is being used for communications (including keep-alive pings when
- connected to a computer).
-
- This issue was resolved in Rev 3 with a 4-layer design and a
- :ref:`geometrically isolated ADC Vref plane <maple-adc-bank>`.
-
-* **Resistors on pins 0 and 1**: these header pins, which are RX/TX on
- USART2 (:ref:`Serial2 <lang-serial>`), have resistors in-line
- between the STM32 and the headers. These resistors increase the
- impedance of the lines for ADC reads and affect the open drain GPIO
- functionality of the pins.
-
- These resistors were accidentally copied over from older Arduino USB
- designs, where they appear to protect the USB-Serial converter from
- TTL voltage on the headers.
-
-* **Silkscreen Differences**: the pin numbering scheme on Rev 1 is
- different from Rev 3, and thus Rev 3 software is difficult to use
- with Rev 1 boards. Notably, the analog input bank is labeled A0-A4
- on Rev 1 but 15-20 on Rev 3, and the extra header bank does not have
- a pinout table on the bottom.
-
-* **No BUT Button**: the BUT button, useful for serial bootloading,
- was only added in Rev 3. As a workaround, you can directly short the
- appropriate MCU pin to Vcc; see `this forum posting
- <http://forums.leaflabs.com/topic.php?id=32#post-126>`_.
-
-Recommended Reading
--------------------
-
-STMicro documentation for STM32F103RB microcontroller:
-
-* `Datasheet
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00161566.pdf>`_
- (PDF); covers STM32F103x8, STM32F103xB.
-* `Reference Manual RM0008
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/REFERENCE_MANUAL/CD00171190.pdf>`_
- (PDF); general, definitive resource for STM32F1 line.
-* `Programming Manual PM0056
- <http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00228163.pdf>`_
- (PDF); assembly language and register reference.
-* `STM32F103RB <http://www.st.com/internet/mcu/product/164487.jsp>`_
- overview page with links to further references.
-
-.. rubric:: Footnotes
-
-.. [#frev2_4] Revs 2 and 4 were prototypes that didn't pass internal
- testing.