aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-18adapt lpc43xx example to generalizationschrysn
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-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
2012-10-18dispatch for chip specific nvicchrysn
2012-10-18merge irq and nvic code using a scriptchrysn
2012-10-18nvic.h factored out (incomplete)chrysn
2012-10-17Merge branch 'master' into generalizationschrysn
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-16add the copied ld scripts in lib dir to gitignoreFelix Ruess
2012-10-16fix clean target for example makefiles if the compiler is not in PATHFelix Ruess
2012-10-16Initial documentation for SPI, I2C and CRCKen Sarkies
(no code changes)
2012-10-16Additional stm32/usart.c functions to enable/disable Rx/TxKen Sarkies
interrupts, return a status flag and check for interrupt source.
2012-10-16Initial documentation for stm32/usart.c, usart.hKen Sarkies
Some minor documentation corrections to timer.h
2012-10-16stm32f1:Ken Sarkies
Add object files to Makefile to include new modules into lib. Correct typo in pwr.c Add two new functions to timer.c to preset the counter (for use with deadman style timeouts) and to identify an interrupt source. Also noticed lib/makefile.include didn't clean lib/stm32, which isn't a target. Added a fix.
2012-10-08add _end and __end symbols for compatibility with code written against ↵Thomas W. Barr
CodeSourcery linkers
2012-10-08complete peripheral handlers in vector tableThomas W. Barr
2012-10-07updated the lisa_m_2 (STM32 F1) ADC examples for recent code changes to ↵Stephen Dwyer
stm32f1 adc.c and adc.h
2012-10-07oops, had to update bin names in makefiles for adc examplesStephen Dwyer
2012-10-07added different ADC sampling examples for the LisaM v2 including:Stephen Dwyer
* simple polling of an injected channel * timer triggered sampling of an injected channel * timer triggered sampling and IRQ handling of an injected channel * timer triggered sampling and IRQ handling of 4 injected channels
2012-10-05Merging pull request #28 Random number generator defenition and example.Piotr Esden-Tempski
Merge remote-tracking branch 'tiltit/master'
2012-10-05Merging pull request #37 Adds hard-float support to stm32f4, with a nice ↵Piotr Esden-Tempski
mandelbrot example Merge remote-tracking branch 'schodet/hard-float'
2012-10-05Doc changes to go with previous commitKen Sarkies
2012-10-05Code changes to stm32f1 adc.c and adc.hKen Sarkies
remove rcc_set_adc_clk - use rcc version Added functions: - adc_power_on - adc_start_conversion_direct - adc_set_dual_mode - adc_eoc - adc_eoc_injected - adc_read_regular - adc_read_injected - adc_set_injected_offset Tested dual mode scanned regular, but no tests of injected yet. Changes: "discontinuous" was misspelled. - adc_set_discontinuous_mode_regular - added "length" parameter - adc_disable_discontinuous_mode_regular - name change - adc_enable_discontinuous_mode_injected - name change - adc_enable_automatic_injected_group_conversion - disable triggers - adc_enable_jeoc_interrupt - name change to match common usage in lib - adc_disable_jeoc_interrupt - ditto - adc_enable_external_trigger_regular - remove incorrect test on parameter - adc_enable_external_trigger_injected - ditto - adc_set_sample_time - name change to match function's purpose - adc_set_conversion_time_on_all_channels - ditto - adc_set_injected_sequence - changed order of register loading (ref Barlow's issue) - adc_enable_analog_watchdog_on_all_channels - flipped AWDSGL - adc_enable_analog_watchdog_on_selected_channel - ditto added aliases for expected commonly used functions to avoid sudden user code breakage In adc.h, corrected errors in SQR names added "deprecated" compiler warnings to adc_on and to aliases defined in adc.c
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-04Merged pull request #38 Add assert macros to aid in debugging.Piotr Esden-Tempski
Merge remote-tracking branch 'avian2/assert-macros'
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.
2012-09-27Add a floating-point example to the stm32f4.Daniel Serpell
This example calculates a mandelbrot fractal using floating point in C.
2012-09-27Enable floating-point coprocessor on reset.Daniel Serpell
Always enable the floating-point coprocessor with full access on reset, allowing usage of hard-fp toolchains.
2012-09-27Compile stm32-f4 library with floating point support.Daniel Serpell
This enables hard-float in the compilation of library and examples for the stm32f40* chips.
2012-09-27Add all SCB registers mentioned in ARM DDI 0403D manual.Daniel Serpell
See table B3-4 and B3-5 for the definitions and B3-24 for the bit assignments of SBC_CPACR.
2012-09-25Explicitly link example binaries statically.Paul Sokolovsky
This allow good share of binaries be linkable (and actually run) with a typical distro-packaged ARM toolchain (Cortex-A and Linux targetted).
2012-09-17Fix merge errorNicolas Schodet
This line was removed in commit acc276a612d4, but it has been restored in the merge 02ea612142fb.
2012-09-15Setup to document entire project using doxygen.Ken Sarkies
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-10Renamed adc example to be more descriptive.Piotr Esden-Tempski
2012-09-10Added simple adc example for lisa/m 2.Piotr Esden-Tempski
2012-09-10Merging pull request #26 "Linker script cleanup/improvements"Piotr Esden-Tempski
Merge remote-tracking branch 'schodet/linker-script'
2012-09-10Merge pull request #27 "added a make target stlink-flash to use the stlink ↵Piotr Esden-Tempski
on the stm32f4-disovery" Merge remote-tracking branch 'twaldecker/stlink'
2012-09-10Merge pull request #25 "Add support for C++ and fix some comments typo"Piotr Esden-Tempski
Merge remote-tracking branch 'schodet/master' Conflicts: include/libopencm3/stm32/f1/adc.h
2012-09-07Random number generator example.Oliver Dille
2012-09-07Random number generator register definitions.Oliver Dille
2012-09-06added a make target stlink-flash to use the stlink on the stm32f4-disoveryThomas Waldecker
2012-09-03Support exceptions on all targetsNicolas Schodet