Commit Graph

72 Commits

Author SHA1 Message Date
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
Tomaz Solc fc4047e4b4 Add assert macros to aid in debugging.
Adds libopencm3/cm3/assert.h header that provides assertion check macros
similar to those provided by the standard C library.

Thanks to Nicolas Schodet for help.
2012-10-02 08:48:45 +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
Ken Sarkies 52533a6e3d STM32F1xx: Changed markup to get more control over documentation, each
file having its own group module rather than using @file.

No code changes except for the following:

gpio: Added function to map the eventout signal plus two Remap functions
dma: Prevent changing base addresses while channel enabled (see datasheet)
pwr: Added pwr.c (new file)
timer: Removed the last function that I introduced recently; there is already
an equivalent function present. Changed some parameter names for consistency.
2012-08-20 17:19:20 +09:30
Piotr Esden-Tempski 3bfeeedceb Merge pull request #6 "Doxygen markup and grouping structrue"
Merge remote-tracking branch 'ksarkies/doc'

Conflicts:
	include/libopencm3/cm3/common.h
2012-06-27 13:30:45 -07:00
TitanMKD 8d97dbc7c3 Work on scs.h register and also nvic.h.
ARM Interrupt API (see nvic.h).
ARM SysTick API (see systick.h).
Example using both Interrupt and SysTick and blink LED1/2/3 see systickdemo.c.
2012-06-09 18:27:42 +02:00
TitanMKD e7fbc2220b Added JellyBean Configuration for PinMux, GPIO In/Out (work in progress).
Added scu driver file scu.c.
Modified Makefile/Makefile.include to generate .map file and use -O2 as optimization.
Modified hackrf-jellybean miniblink.c to enable 1V8 and blink LED1,2&3 with configuration of PinMux and GPIO.
2012-06-02 09:45:03 +02:00
Ken Sarkies 06620040aa Header files for Doxygen group structure, layout changes to headings, example markup in stm32f1/ rcc 2012-05-28 21:38:55 +09:30
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
Uwe Hermann 23a6f154cd common.h: Add Doxygen main page text. 2011-11-11 21:23:30 +01:00
Uwe Hermann 9f821a5dd4 Minor whitespace fixes. 2011-11-02 02:19:51 +01:00
Stephen Caudle 36cff03af1 Add RCC and FLASH support for STM32F2 2011-10-27 23:34:52 -04:00
Gareth McMullin f0a1282d42 Added ITM and TPIU register definitions. 2011-02-17 21:38:38 +13:00
Uwe Hermann 559bc52fa4 Add some missing LIBOPENCM3_ prefixes. 2011-02-09 01:36:06 +01:00
Uwe Hermann 401a0a8e8b FPB: More consistency fixes.
Fix incorrect FPB_CTRL_NUM_CODE2_MASK value, too.
2011-02-09 01:34:50 +01:00
Uwe Hermann 87c94e9a37 FPB: Fix typo. 2011-02-09 01:18:55 +01:00
Uwe Hermann 47e2736013 FPB: Minor additions, consistency fixes. 2011-02-09 01:18:15 +01:00
Uwe Hermann 447c333cec Minor cosmetics, whitespace. 2011-02-09 01:06:43 +01:00
Gareth McMullin 0d7d0fe829 Added Flash Patch and Breakpoint (FPB) register definitions. 2011-02-08 19:40:16 +13:00
Gareth McMullin 4954b4c006 Added ARMv7-M Core Debug (SCS) register definitions. 2011-02-08 19:26:38 +13:00
Uwe Hermann 8f251e8a9d Some more file/path restructuring.
All #includes now explicitly use the "<libopencm3/stm32/rcc.h>" format.
If you want to get rid of the "libopencm3" prefix in your local project you
can add a respective -I entry in your Makefile (not recommended though).

All .ld files and .a libs are installed in $(TOOLCHAIN_DIR)/lib
directly (as before), but are now renamed to avoid potential
conflicts now or in the future. Examples:

  libopencm3_lpc13xx.a
  libopencm3_lpc13xx.ld
  libopencm3_stm32.a
  libopencm3_stm32.ld
2010-12-31 18:18:39 +01:00