aboutsummaryrefslogtreecommitdiff
path: root/lib/cm3
AgeCommit message (Collapse)Author
2013-03-19Add support for static constructors and destructorsinit-fini-2Nicolas Schodet
2013-02-26Fixed all warnings for examples.Piotr Esden-Tempski
2013-02-19[cm3] fix doxygen for systick_get_value, add systick_get_reloadFelix Ruess
Fix the reload value in the examples: to get a SysTick interrupt every N clock pulses: set reload to N-1 see http://infocenter.arm.com/help/topic/com.arm.doc.dui0552a/BGBEEJHC.html#BABGACGG
2013-01-16Remove assembly forcing stack.Karl Palsson
Fixes #51 There should be no reason for manually trying to load the stack. Cortex devices can be programmed with only C, and any code that needed this would indicate broken vectors.
2012-11-28Add __attribute__ ((naked)) to reset_handler()Norbert Braun
2012-10-18unified systick handlingchrysn
the only change this results in in the example binaries is in the hackrf-jellybean/systick example, where the the check in systick_set_clocksource for overflowing from the stm32 area gets used.
2012-10-18unify scb (system control block)chrysn
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-18fix bug resulting from equally named fileschrysn
the local vector.o files shadowed the ../cm3/vector.c from VPATH, resulting in empty reset vectors.
2012-10-18integrate irq2nvic_h script in buildprocesschrysn
2012-10-18split irq.yaml output in nvic.h and vector_nvic.hchrysn
the weak pragmas need to be used in the very compilation unit where their target is defined, requiring another dispatch
2012-10-18drop two-line vector.c dispatchers in favor of central dispatchchrysn
2012-10-18unified nvic.cchrysn
2012-10-05unified vector table initializationchrysn
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-02Add assert macros to aid in debugging.Tomaz Solc
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.