40 Commits

Author SHA1 Message Date
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
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
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
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
Nicolas Schodet
3aab6220d8 Add C linkage declaration for C++ usage 2012-09-02 17:12:58 +02:00
Fergus Noble
a30fc96c59 Revert "Fix setting alternate port functions on the STM32F2."
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.

See also 87ea496ca768d18e51d8654cbad9cb261a881b1b.

This reverts commit 2433f17e7341d6afcda24d395d0b93c50a37b7b1.
2012-03-21 20:19:36 -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
2433f17e73 Fix setting alternate port functions on the STM32F2.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Uwe Hermann
5f82f28d01 f2/dma.h: Whitespace and coding-style fixes. 2012-02-06 23:27:00 +01:00
Fergus Noble
9949b5dcf4 Fixed typo in F2 dma header to match the datasheet. 2012-02-06 23:08:07 +01:00
Fergus Noble
31b0466525 DMA register definitions for F2. 2012-02-06 23:08:06 +01: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
b05eff8dbf stm32/f2/pwr.h: Document reserved bits. 2011-11-11 21:43:41 +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
05bc9d10f1 Add generic STM32F2 RCC clock function 2011-10-31 00:17:53 -04:00
Stephen Caudle
822d75adb7 Clean up whitespace in stm32f2 GPIO 2011-10-30 17:49:50 -04:00
Stephen Caudle
e2ed7824cf Clean up whitespace in stm32f2 RCC
Also make RCC IO defines consistent with stm32f1.
2011-10-30 17:49:41 -04:00
Stephen Caudle
eb47f0cfc0 Add SCB from stm32f1 2011-10-30 17:42:49 -04:00
Stephen Caudle
fd2524beb0 Merge remote-tracking branch 'fnoble/stm32f2' into stm32fx
Conflicts:
	lib/stm32f2/Makefile
2011-10-27 23:39:16 -04:00
Stephen Caudle
36cff03af1 Add RCC and FLASH support for STM32F2 2011-10-27 23:34:52 -04:00
Fergus Noble
20c33d1ae3 Add header for F2 syscfg peripheral. 2011-10-26 13:29:14 -07:00
Fergus Noble
6dd3190bb9 Fix NVIC defines for F2. 2011-10-26 13:28:52 -07:00
Fergus Noble
0565cb8378 RCC header file for F2 implemented, no convenience functions so far. 2011-10-12 22:17:17 -04:00
Fergus Noble
4d02d36d6b Moving nvic code to common, adding F1 and F2 specific user interrupt definition headers. 2011-10-12 22:17:16 -04:00
Fergus Noble
60dcacccb7 Some updates to the F2 GPIO header plus implementation of GPIO convenience functions. 2011-10-12 22:13:01 -04:00
Fergus Noble
95d4532595 Initial import of F2 GPIO peripheral header file. 2011-10-12 22:13:01 -04:00
Fergus Noble
4eff339e8c Restructuring stm32 include directories. 2011-10-12 22:13:01 -04:00
Fergus Noble
792a806ecd RCC header file for F2 implemented, no convenience functions so far. 2011-09-16 17:34:08 -07:00
Fergus Noble
3a426b34aa Moving nvic code to common, adding F1 and F2 specific user interrupt definition headers. 2011-09-15 16:26:39 -07:00
Fergus Noble
6912cbe71f Some updates to the F2 GPIO header plus implementation of GPIO convenience functions. 2011-09-14 23:57:43 -07:00
Fergus Noble
aa3089e8c4 Initial import of F2 GPIO peripheral header file. 2011-09-14 22:36:15 -07:00
Fergus Noble
af64b76bd6 Restructuring stm32 include directories. 2011-09-14 13:47:33 -07:00