aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32
AgeCommit message (Collapse)Author
2012-10-31Update comments and copy author from F4 version.Thomas Daede
2012-10-30Move timer.c to be common to all stm32 seriesThomas Daede
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 '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-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-22stm32/i2c: Add DOXYGEN strings for i2c helper functions.Jeff Ciesielski
Also: Define i2c_dutycycle group in i2c header
2012-10-22Missing EXTI ports and flag numbers for F4Karl Palsson
(Also missing for forthcoming L1)
2012-10-22stm32/f1: Add user_reset_hook to reset_handler w/ jump_to_dfu presetJeff Ciesielski
This allows for pragramatic jumping to the DFU bootloader on CL devices, or could be used for things like CRC checking of the firmware before boot
2012-10-22stm32/f1/can: Add function to detect if can system has an available mailboxJeff Ciesielski
2012-10-19stm32/f1/i2c: remove unnecessary parenthesisJeff Ciesielski
2012-10-19stm32/f1/can: Replace mistaken logical operators with bitwise operators.Jeff Ciesielski
also: remove unnecessary parenthesis
2012-10-19stm32/f1/gpio: use |= instead of = when setting up registersJeff Ciesielski
2012-10-19stm32/f1/rtc: add PLL2/3 to switch statement to avoid compiler warningJeff Ciesielski
2012-10-19stm32/f1/rcc: add 25mhz in to 72mhz out clock tree setup function.Jeff Ciesielski
also: added support for previously undefined PLLs
2012-10-19stm32/f1/vector: add ability to boot to DFU bootloaderJeff Ciesielski
note: Only works on CL devices also: this could probably use a helper function
2012-10-19stm32/f1/i2c: add a whole bevy of additional helper functionsJeff Ciesielski
2012-10-19stm32/f1/dma: add clear_flag helper functionJeff Ciesielski
2012-10-19stm32/f1/can: Add loopback/silent vars to init function.Jeff Ciesielski
Also: add helper function for mailbox checking
2012-10-19remove nvic.o from stm32/f[24]'s explicit listchrysn
this was missed out in 75c216582, see there for details
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-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-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-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-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-13stm32 F2/F4 gpio_set_af() fixJason Kotzin
2012-09-13USB core updated for reentrance based on Christian Cier-Zniewski's branchJason Kotzin
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-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