aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32/f1
AgeCommit message (Collapse)Author
2013-03-19Add support for static constructors and destructorsinit-finiNicolas Schodet
Conflicts: lib/efm32/efm32g/libopencm3_efm32g.ld lib/efm32/efm32gg/libopencm3_efm32gg.ld lib/efm32/efm32lg/libopencm3_efm32lg.ld lib/efm32/efm32tg/libopencm3_efm32tg.ld lib/lpc17xx/vector.c lib/stm32/l1/libopencm3_stm32l1.ld
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-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-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-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-25Merging pull request #23 Changed markup to get more control over documentation.Piotr Esden-Tempski
Merge remote-tracking branch 'ksarkies/doc'
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-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-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-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
2012-06-27Merge pull request #11 "Add helper function for max clock on HSI for f100"Piotr Esden-Tempski
Merge remote-tracking branch 'karlp/hsi_f1_24'
2012-06-27Merge pull request #10 "Add Device Electronic Signature support."Piotr Esden-Tempski
Merge remote-tracking branch 'karlp/desig'
2012-06-12Add helper function for max clock on HSI for f100Karl Palsson
Based on existing HSI code. Tested with f100c8, on custom board with no external crystals or resonators.
2012-06-12Add Device Electronic Signature support.Karl Palsson
Working unique id support, but not 100% convinced that this is the "least surprise" path. ST's docs provide the bits from low to high, in 2xu16 and 2xu32. But to get it back as a "u96" the highest bits should be first?
2012-05-28Header files for Doxygen group structure, layout changes to headings, ↵Ken Sarkies
example markup in stm32f1/ rcc
2012-05-25Mark reg32 variables as used. So that the compiler does not complain.Piotr Esden-Tempski
2012-04-25Fixed the linker scripts to be the way Tomaz Solc proposed.Piotr Esden-Tempski
Something went wrong when cherrypicking his commits in the pull request. Sorry about that. :(
2012-04-24Removed the load address statement from the .bss section.Piotr Esden-Tempski
Otherwise the linker will complain: "section has both a load address and a load region"
2012-04-24Support for exception handling in linker scripts.Tomaz Solc
This is needed even in plain C when 64 bit variable (e.g. long long int) arithmetic is used. For example it is required when newlib is compiled with --enable-newlib-io-long-long. Conflicts: lib/stm32/f1/libopencm3_stm32f1.ld lib/stm32/f2/libopencm3_stm32f2.ld
2012-04-24Wait for writes to finish upon exiting RTC configTomaz Solc
This fixes race condition when rtc_get_counter_val() call immediately follows rtc_set_counter_val().
2012-04-08Added functions for configuring timers in slave mode.Gareth McMullin
2012-04-08Added functions for timer input capture polarity and enable/disable.Gareth McMullin
2012-04-08Added convenience function for timer input selection.Gareth McMullin
2012-04-08Added convenience funcions for timer input capture filter and prescaler.Gareth McMullin
2012-04-07Corrected parameters of timer_set_mode() to u32.Gareth McMullin
2012-03-19Constand value for resetting CAN_TDTxR was too big. Fixed.Piotr Esden-Tempski
2012-03-19Changed parameter size for trigger enable.Piotr Esden-Tempski
2012-03-19Started some cleanup in the ADC headers and convenience code.Piotr Esden-Tempski
2012-03-18Added basic exception handling to the stm32 linker scripts. Thanks Mike Smith!Piotr Esden-Tempski
2012-03-02Some additional LGPL3+ license change cleanups.Piotr Esden-Tempski
Changed the license to LGPL3+ for some makefiles that got ommited in the previous big patch commit. Corrected a find and replace error in a linker file.
2012-03-02License change of the library to LGPL, version 3 or later.Piotr Esden-Tempski
Agreed to by all the significant contributors to the library.
2012-02-29Cleaned up and streamlined DMA support for f1. Definitely needs a bunch of ↵Piotr Esden-Tempski
testing!
2012-02-24Added set priority group convenience function.Piotr Esden-Tempski
2012-02-12Linker scripts provide stack pointer at the top of RAM.Gareth McMullin
Thanks to Tomaz Solc.
2012-02-11Added the entry point definiton to all stm32 linker scripts. This allows gdb ↵Piotr Esden-Tempski
to reset the target correctly on exit.
2012-02-06More coding-style and cosmetic fixes.Uwe Hermann
2012-02-06Discard .ARM.exidx section to make newlib 64bit (long long) printf support ↵Fergus Noble
work. This may need to be fixed if using C++.
2011-11-16Added address legend to the interrupt vector. Made it easier to crosscheck ↵Piotr Esden-Tempski
for correctness.
2011-11-16Added UART4 and UART5 gpio definitions for stm32f1. Also corrected the ↵Piotr Esden-Tempski
naming everywhere. Both peripherals are UARTS not U_S_ARTS.
2011-11-17stm32/f1/gpio.c: Add some Doxygen comments.Uwe Hermann
2011-11-17lib: More small fixes.Uwe Hermann
2011-11-17lib/stm32/f1: Coding-style fixes.Uwe Hermann
2011-11-12Fixed loading of .data in linker scripts.Gareth McMullin
This fixes a problem where the linker included some padding bytes between the end of the .text section (_etext) and the start of the .data section. The C runtime copies from _etext, so all static initialised data was corrupted. This change forces the .data section to be written at _etext to avoid this problem.