aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/stm32.rst
blob: d91865555a7afab33695001d72f664b076dcd734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
.. _stm32:

Introduction to STM32
=====================

.. FIXME [v0.0.13] Stub page.

Every Maple board is powered by an STM32 microcontroller (the chip
which controls all of the pins).  Once you're comfortable using your
Maple, you'll probably start to get curious about what's going on
under the hood.  This page is a good place to begin.  It includes an
overview of the STM32, and helps you make sense of the sometimes
dizzying array of features, libraries, and documentation that are
available to you.

The world of the STM32 is a big one, and it's only getting bigger.
With literally thousands of pages of manuals, datasheets, application
notes, etc. available for every STM32 microcontroller, and a huge
variety of categories and subcategories of STM32s available to choose
from, it's easy to get confused or feel daunted about getting started.
Don't panic!  We've got `your towel
<http://en.wikipedia.org/wiki/Know_where_one%27s_towel_is#Knowing_where_one.27s_towel_is>`_
right here.

.. contents:: Contents
   :local:

.. _stm32-general:

General Information
-------------------

- Description of the history and present state of the STM32 line. ARM
  Cortex-M series etc.

- Introduction and pointers to ARM Cortex-M docs and other good books
  on the subject.

- Pointers to ST reference manuals. Note that the appropriate
  reference manual for each board is always documented in that board's
  hardware page.

.. _stm32-series:
.. _stm32-series-f1-lines:

STM32 Series
------------

- Describe families, F1 lines, etc.

- Describe how a product name tells you what you need

ST's Documentation
------------------

- Classes of documentation: product flyer, datasheet, reference
  manual, programming manual, application note.

.. _stm32-registers:

Registers and Register Maps
---------------------------

- General purpose registers vs. peripheral registers.

Perhaps you haven't read it in detail, but maybe you've at least
thumbed through a few of the sections, trying to gain some
understanding of what's going on.  If you've done that (and if you
haven't, just take our word for it), then you know that underneath the
covers, *everything* is controlled by messing with bits in the
seemingly endless collections of registers specific to every
peripheral.  The :ref:`USARTs <usart>` have data registers; (some of
the) the :ref:`timers <timers>` have capture/compare registers, the
:ref:`GPIOs <gpio>` have output data registers, etc.

- Peripheral register maps; how they're duplicated for each peripheral

- Portability concerns across series

.. _stm32-libmaple-support:

``libmaple`` STM32 support
--------------------------

- Descriptions of libmaple's present support for the STM32 line
  (i.e. currently performance-line only; update when the F2 branch is
  ready to merge into master etc.).