aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
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-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-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-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-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-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-02use _data_loadaddr instead of _etextchrysn
this change was done in master in [1] and just merged here. [1] 74cd991e7e8972cf22933743c847b5ce2b165798
2012-10-02add back minimal support librarieschrysn
some of the libraries removed in [1] were essential to building anything on efm32 (especially, irq.h). [1] 4a6f4c0f7d62858a4a9afba18f11289cb0bb8358
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-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-15remove the support libraries for efm32chrysn
i don't plan to extend or support them, and they'll just grow stale
2012-09-13Merge branch 'master' into efm32chrysn
Conflicts: Doxyfile Makefile
2012-09-10Merging pull request #26 "Linker script cleanup/improvements"Piotr Esden-Tempski
Merge remote-tracking branch 'schodet/linker-script'
2012-09-03Support exceptions on all targetsNicolas Schodet
2012-09-03Use a specific symbol for data source address in flashNicolas Schodet
That way, data source address does not depend on any other unrelated change in linker script. This also fixes cases when .data input section is aligned on 8 bytes. The new version does not provide any address for the output section so that it is aligned to the strictest input section. The _data_loadaddr symbol will always take this alignment into account.
2012-09-03Clean up and make linker scripts more uniformNicolas Schodet
This includes: - fix some comments indent, - add entry point, - align exported symbols, - remove unneeded "." assignments.
2012-08-31STM32F1xx Additional minor changes to adc.h and adc.cKen Sarkies
2012-08-31ADC documentation addedKen Sarkies
In adc.h additional defines needed to assist documentation - lines 172-191 added, and 384,436-451 are duplicates of earlier defines to complete parameter sets (compiler has no trouble with these). Minor doc corrections to other files. No code changes (apart from additional defines).
2012-08-25Minor build system fixes.Piotr Esden-Tempski
2012-08-25Merging pull request #23 Changed markup to get more control over documentation.Piotr Esden-Tempski
Merge remote-tracking branch 'ksarkies/doc'
2012-08-25Merging #18 pull request. Adding nvic documentation.Piotr Esden-Tempski
Merge remote-tracking branch 'ksarkies/nvic'
2012-08-20STM32F1xx: Changed markup to get more control over documentation, eachKen Sarkies
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-18Update to doxygen comments to fix promiscuity problem (see later)Ken Sarkies
2012-08-14Revert nvic_set_priority to original form. Minor doxygen markup changes.Ken Sarkies
2012-08-14Merge branch 'master' into nvicKen Sarkies
2012-08-13Changed local build target for library and linker files.Piotr Esden-Tempski
- The library files are now being built into the lib subdirectory of the source. - The linker files for each library are being copied into the lib source subdirectory. Motivation: The relative locations of files in the source directory after make are now the same as after make install now. This makes it easier to reuse examples with their makefiles outside of the libopencm3 sourcecode directory.
2012-08-11Merging pull request #19 "STM32F timers. Doxygen markup added, and some code ↵Piotr Esden-Tempski
changes" by Ken Sarkies. Merge remote-tracking branch 'ksarkies/timer'
2012-07-10STM32F timers. Doxygen markup added, and some code changes:Ken Sarkies
1. Remove the extra mask (TIM_DIER(timer_peripheral) & flag) in timer_get_flag. Not all flags in SR relate to IRQs and the flags that do might be useful even if interrupts not enabled. 2. In a number of functions (e.g. timer_set_output_idle_state) that only apply to advanced timers, add test for TIM1 and TIM8, as done in some others. 3. Added timer_force_event to manipulate the EG register TBD DMA burst - can't get my head around why this would be useful. Someone must have thought so!
2012-07-09Fix compile errorKen Sarkies
2012-07-09NVIC_Set_Interrupt_Priority: change to use 4-bit fields.Ken Sarkies
(viz STM32F10xxx Cortex-M3 programming manual PM0056 and Cortex-M3-Generic-User-Guide.pdf) Doxygen commentary added
2012-06-30Code for DAC module STM32Fxxx seriesKen Sarkies
Add prototypes to dac.h and small change to simplify alignment enum
2012-06-29Add linker scripts with memory maps for F100 series.Karl Palsson
These definitions are a physical property of the device for most purposes. No reason not to supply them premade.
2012-06-29Basic helper routines for CRCKarl Palsson
Note, the CRC block is pretty useless for interoperability. It only operates on 32bit chunks, and in a different bit order. No attempt to make full helpers for compatibility with other implementations has been done. https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx_stm32%2FCRC%20computation&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=2006