88 Commits

Author SHA1 Message Date
Ken Sarkies
7ec382c7d5 STM32: Moved SPI code into the common area.
Updated the documentation so that it appears in all families
Also added it to the L1 area, but is untested. An addition to the memorymap
allows commonality and a #ifdef added to the spi_common_all code to
exclude the case of SPI3 for L1 and F0 as SPI3 doesn't exist in those.
An rcc dispatch header was added to remove same code from the spi header.
2013-01-08 19:48:52 +10:30
Ken Sarkies
a60ae5044c STM32 DMA: replaced F4 header to match that for F2, and move header and source files to common.
In the header:
- Fix DMA_SxCR_CT: change shift from 18 to 19
For use with the convenience functions:
- Added DMA_SxCR_CHSEL generic values
- Added DMA_STREAM - generic values
- Added dma_if_offset - rather than separating out LISR and HISR
- Added masks
- Added dma_disable_double_buffer_mode()
2013-01-08 08:16:25 +10:30
Piotr Esden-Tempski
c03cbc41a1 Merge pull request #73 RNG
Merge remote-tracking branch 'oojah/master'
2013-01-06 18:05:49 -08:00
Piotr Esden-Tempski
44e350ad20 Merging pull request #64 Various changes
Merge remote-tracking branch 'bgamari/master'
2013-01-06 17:56:13 -08:00
Roger Light
a4a4255555 STM32: Move RNG to common area and add support for the F2. 2012-12-12 20:47:38 +00:00
Roger Light
512769296a Update STM32 RNGEN register bit name to more closely match documentation. 2012-12-12 20:34:44 +00:00
Ben Gamari
a43f1d0844 stm32/f4/memorymap.h: Fix ADC offsets 2012-11-14 20:07:28 -05:00
Ken Sarkies
4ab5c94b90 Proposed deduplication of peripherals, GPIO example
See rambling post on dev list for justification
2012-11-13 18:41:31 +10:30
Piotr Esden-Tempski
f714ee42c0 Merging pull request #60 Miscellaneous DMA fixes for F4
Merge remote-tracking branch 'bgamari/master'
2012-11-08 12:04:28 -08:00
Ben Gamari
f3557b8d60 stm32f4/dma: Fix DMA_ISR_OFFSET definition 2012-11-08 12:13:16 -05:00
Karl Palsson
ce8f47e7df Enable nvic and exti support for L1
And include an example that uses it.
2012-11-07 21:54:18 +00:00
Piotr Esden-Tempski
f5df25d6de Merge pull request #55 STM32F4: New adc module
Merge remote-tracking branch 'ksarkies/adc-f4'
2012-10-31 13:38:51 -07:00
Ken Sarkies
68e6818761 STM32F4 New: headers and source code for DMA
This has been tested with some dac, timer and (as yet uncommitted) adc examples.
2012-10-31 13:36:07 -07:00
Ken Sarkies
0bd415365d STM32F4: New adc module
Note adc.h was provided by Matthew Lai but was never merged.
adc.c is new.
2012-10-30 10:22:52 +10:30
chrysn
e20f1c0d8f unify scb (system control block)
these register definitions are common to all cortex mcus. some of the
registers might not be implemented everywhere (especially the floating
point registers), but defining them does no harm.

this modification does not result in any changes in the example
binaries.
2012-10-18 21:45:20 +02:00
chrysn
5ceb377a37 switch all interrupt lists to yaml format 2012-10-18 16:52:48 +02:00
chrysn
a8a6eb39e9 add irq cound to existing nvic.h files 2012-10-18 13:19:55 +02:00
chrysn
7c33025c31 Merge branch 'master' into generalizations
Conflicts:
	lib/lm3s/vector.c -- split out to lm3s/irq.h
	lib/stm32/f4/vector.c -- put the floating point initialization code into a function like in lpc43xx
2012-10-17 18:55:54 +02:00
Piotr Esden-Tempski
9e77f8c361 Merging pull request #28 Random number generator defenition and example.
Merge remote-tracking branch 'tiltit/master'
2012-10-05 13:08:03 -07:00
chrysn
a69d83d312 unified vector table initialization
the cortex generic interrupts get moved to lib/cm3/vector.c, the
platorms' individual irq names, initialization and handler prototypes go
to platoform specific irq.h files.

as the vector.c file heavily depends on platoform specific headers, it
can't be built once-and-for-all in lib/cm3/, so there are inclusion
stubs in the various architecture dirs; this might be better solved with
Makefile / include path handling.

one particular file is lib/lpc43xx/vector.c; that platform's
initialization code contains an additional section to copy everything
from flash to ram (which probably performs better there). that code
still resides in the inclusion stub, and gets mashed in using defines.
would need a cleaner implementation together with the Makefile solution.

this commit contains some files of the upcoming efm32 branch, from which
it was cherry-picked.

the .bin files produced from before and after this commit only differ in
lpc43xx, where the startup sequence was subtly modified.
2012-10-05 00:55:24 +02:00
Daniel Serpell
c9ab75878f Add all SCB registers mentioned in ARM DDI 0403D manual.
See table B3-4 and B3-5 for the definitions and B3-24 for the
bit assignments of SBC_CPACR.
2012-09-27 23:12:18 +02:00
Ken Sarkies
ff83a1ae1c Setup to document entire project using doxygen.
New doc directory with config files and generated html, LaTeX/pdf.
Makefile provided for autogeneration and explanatory README.

The project structure is hostile to doxygen, which can't cope with functions
of the same name. Doxygen is run for each family separately, and separately
for LaTeX generation. Customized layout files sort of "integrate" HTML, and
separate pdfs are generated for each family. Not ideal but seems the best
solution until doxygen changes, if at all.
2012-09-15 12:51:46 +09:30
Oliver Dille
e99896120b Random number generator register definitions. 2012-09-07 22:03:36 +02:00
Nicolas Schodet
3aab6220d8 Add C linkage declaration for C++ usage 2012-09-02 17:12:58 +02:00
Fergus Noble
87ea496ca7 Revert "Fix setting alternate port functions on the STM32F4."
This was also fixed in ac29b654a992a4855626fc0b92874d3847914f85 in a
different way. I think the mask definition should be left with 1s
indicating the bits of interest.

This reverts commit e11185d47d0a2fea6d2782761edd5fd489541512.
2012-03-21 20:16:10 -07:00
Piotr Esden-Tempski
43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
Piotr Esden-Tempski
cbef43ddd8 Added set priority group convenience function. 2012-02-24 16:43:37 -08:00
Piotr Esden-Tempski
c5e5c0fdab Updated SCB_AIRCR_PRIGROUP bit definitions to be more consistent with the style the library. 2012-02-24 16:21:23 -08:00
Gareth McMullin
e11185d47d Fix setting alternate port functions on the STM32F4.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Piotr Esden-Tempski
c6f30043fd Added UART4 and UART5 gpio definitions for stm32f1. Also corrected the naming everywhere. Both peripherals are UARTS not U_S_ARTS. 2011-11-16 18:17:56 -08:00
Uwe Hermann
b874da24f2 stm32/f4/pwr.h: Document reserved bits. 2011-11-11 21:44:11 +01:00
Uwe Hermann
257fc810cb STM32F4: Fix typos, s/F2/F4/. 2011-11-11 21:40:57 +01:00
Uwe Hermann
46f90a54ae STM32F2/F4: SPI fixes.
- Rename SPI_CR2_FRF_TI to SPI_CR2_FRF_TI_MODE to match datasheet.

 - Rename SPI_CR2_FRF_MOTOROLA to SPI_CR2_FRF_MOTOROLA_MODE (see above).

 - Fix SPI_CR2_FRF_MOTOROLA_MODE bit definition, must be (0 << 4).

 - Change SPI_SR_RXNE to SPI_SR_TIFRFE; this was probably a copy-paste
   error. Also, the bit definition is (1 << 8).
2011-11-10 22:15:45 +01:00
Stephen Caudle
30b5c89726 Add USART6 definitions to STM32F3 & STM32F4 2011-11-02 22:37:47 -04:00
Stephen Caudle
d9a76c75c2 Add timer support for STM32F2 & STM32F4 2011-11-02 14:26:36 -04:00
Stephen Caudle
1fea1df39a Fix more STM32 whitespace issues 2011-10-31 11:11:03 -04:00
Stephen Caudle
6da485f06d Fix STM32 flash programming doc links 2011-10-31 09:25:05 -04:00
Stephen Caudle
5a89d44591 Add initial support for STM32F4 2011-10-31 00:41:19 -04:00