aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-30Allow make to build libs/examples in parallel.Karl Palsson
You cannot issue make inside a for loop if you want to let it run in parallel. Performance increases seen: 10:03 < zyp> I tested make all -j8 without your change, it takes 8.7s 10:03 < zyp> so on my cpu, your change gives >2x speedup My own cpu gives more modest speed increases, of only about 20%.
2012-10-30STM32F4: New adc moduleKen Sarkies
Note adc.h was provided by Matthew Lai but was never merged. adc.c is new.
2012-10-29Merge branch 'efm32'chrysn
this adds support for energy micro's efm32 tiny gecko, gecko, leopard gecko and giant gecko series. also, the experimental libopencmsis is included in this branch, as it is required for full operation of the free energymicro standard library
2012-10-29Merge branch 'generalizations'chrysn
this merges common c and header files of different architectures, adds a dispatch mechanism and yaml descriptions of interrupt handlers from which the whole interrupt table setup c code is generated.
2012-10-28Fix CAN standard ID mask to be 11 bits.Thomas Daede
2012-10-28Release the correct fifo in can_receive()Thomas Daede
2012-10-28Add CAN support for F2 and F4 series.Thomas Daede
All stm32 series currently released share the same bxCAN hardware, so share can.c among all the families.
2012-10-23fixes for generated header cleanupchrysn
* make target phony * don't complain about missing files
2012-10-23make `make clean` work againchrysn
the irq2nvic_h generates files in a way make doesn't understand, so it now also provides an option to clean up again
2012-10-23only generate irq headers on demandchrysn
as header file generation is not directly controlled by make (which, by the way, makes the generatedheaders target phony), the script has to take care of not needlessly generating files itself lest to have make rebuild everything everytime
2012-10-22Missing EXTI ports and flag numbers for F4Karl Palsson
(Also missing for forthcoming L1)
2012-10-21Added irq.yaml to lpc_13xx and lpc_17xx familiesSilvio Gissi
2012-10-19remove common modules from efm32*'s explicit build listchrysn
this is 75c216582 for the efm32 branch, see there for details
2012-10-19Merge branch 'generalizations' into efm32chrysn
2012-10-19remove nvic.o from stm32/f[24]'s explicit listchrysn
this was missed out in 75c216582, see there for details
2012-10-19completing dispatchchrysn
the LM3S irq list was previously unused as it was missing in the dispatch files; now it got added. (before HEAD^, it wouldn't have made any difference because the discriminating constant wasn't defined anyway) also, this enhances the warning messages
2012-10-19define platform specific constants for all chipschrysn
previously, only stm32 chips passed the information about which chip to build on into the compiler. this information is essential to dispatch, thus defining LPC13XX, LPC17XX, LPC43XX and LM3S in analogy to STM32F1..4.
2012-10-19build common .o files everywhere (fixes issue #29)chrysn
vector.o, nvic.o, scb.o and assert.o are available on every platform, but at least some of them differ between the implementations. they already got built explicityly on some platforms; now adding them to the common Makefile.include.
2012-10-19add generic OBJS to efm32 librarieschrysn
better fixes would be adding them to the generic (included) Makefile or building the really device independent stuff in a _generic library
2012-10-19install *all* efm32 linker scriptschrysn
this will install the per-family linker scripts twice (doesn't hurt, gets overwritten), but more importantly intalls the per-chip scripts too.
2012-10-19build vector.o on lpc13xxchrysn
no idea how this ever worked...
2012-10-19copied over linker scriptschrysn
this will need some generalization too...
2012-10-19build all efm32 familieschrysn
2012-10-19install opencmsischrysn
2012-10-19added irqs for the rest of the efm32 deviceschrysn
2012-10-19rename tinygecko->efm32tg everywherechrysn
2012-10-19renamed linker file to work with included makefilechrysn
2012-10-19change discriminator in efm32 series from TINYGECKO to EFM32TGchrysn
2012-10-19pulling in a simplification in per-arch makefileschrysn
2012-10-19use generalized libopencm3 functions in cmsischrysn
2012-10-18Merge branch 'generalizations' into efm32chrysn
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-18BEGIN_DECLS wrap nivc.h declarations for c++chrysn
2012-10-18nvic.h generation script: be on safe side with directorieschrysn
now tries to mkdir its way to the output files this wouldn't be a problem currently if it wasn't for the efm32 data lingering in the wrong branch, but otoh it's just on the safe side in case we meet architectures that don't need other specializations at all.
2012-10-18adapt lpc43xx example to generalizationschrysn
2012-10-18remove files not required in generalizations branch any morechrysn
2012-10-18Merge branch 'generalizations' into efm32chrysn
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-18Merge branch 'generalizations' into efm32chrysn
Conflicts: Makefile
2012-10-18vector.c unificationchrysn
this makes the previous hackish vector.c assemblies into dispatched files (using the same mechanism as for nvic, just this time in lib). the old irq.h files that were generated manually from the old vector.c files were dropped in the process, as were the nvic.h files, and replaced with very simple yaml lists that generate the headers. file generation takes place both in the include/ and the lib/ part, as some of it is definitely header stuff (the NVIC_name_IRQ defines), and some of it needs to be included in specific compilation units (the weak pragmas).
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-18switch all interrupt lists to yaml formatchrysn
2012-10-18drop two-line vector.c dispatchers in favor of central dispatchchrysn
2012-10-18nvic unificationchrysn
* created include/libopencm3/cm3/nvic.h from the respective stm32 and lpc43xx files. the chip specific definitions were left in place (they were already split out in sthe stm32 case). * created lib/cm3/nvic.c from the respective stm32 and lpc43xx files. a hack from the lpc43xx was taken over (for manipulating the internal interrupts); for now it'll work. * created a include/libopencm3/dispatch/ directory where the dispatching of files with common interfaces but different implenentations can happen; for now, an nvic.h there includes the respective irq name definitions. (future implementations might have some automation or preprocessor magic there; so far, it's manual dispatching based on defines.) * for efm32, an nvic.h gets generated from an interrupt list, the rationale for code generation is, in this case, that this can't be done easily in c preprocessor, and it's really just a list of definitions and not code proper. * examples now include <libopencm3/cm3/nvic.h> instead of <libopencm3/stm32/nvic.h>
2012-10-18modified examples to use libopencm3/cm3/nvic.h instead of /stm32/chrysn
2012-10-18fallback for unknown chipschrysn
2012-10-18unified nvic.cchrysn
2012-10-18add irq cound to existing nvic.h fileschrysn