aboutsummaryrefslogtreecommitdiff
path: root/lib/stm32/f1
AgeCommit message (Collapse)Author
2013-01-08STM32: Moved SPI code into the common area.Ken Sarkies
Updated the documentation so that it appears in all families Also added it to the L1 area, but is untested. An addition to the memorymap allows commonality and a #ifdef added to the spi_common_all code to exclude the case of SPI3 for L1 and F0 as SPI3 doesn't exist in those. An rcc dispatch header was added to remove same code from the spi header.
2013-01-06Merging pull request #63 Improvements to STM32F1 I2C, CAN, RCC, and USB (f107)Piotr Esden-Tempski
Merge remote-tracking branch 'icd/master'
2012-11-13Merge branch 'master' of git://github.com/libopencm3/libopencm3 into ↵Jeff Ciesielski
upstream-merge
2012-11-13Proposed deduplication of peripherals, GPIO exampleKen Sarkies
See rambling post on dev list for justification
2012-11-12[doc] Cosmetic.Piotr Esden-Tempski
2012-11-12Documentation updatesKen Sarkies
2012-11-07Vectors and Memory Map for STM32L1 seriesKarl Palsson
2012-11-06Add a desig_get_unique_id_as_stringAndrey Smirnov
This commit adds desig_get_unique_id_as_string which is useful if one wants to use device ID as USB serial number(iSerialNumber), for example.
2012-11-01stm32/f1/can: Add clearing of can timing bits on initJeff Ciesielski
This corrects a bug introduced with the addition of allowing loopback and silent parameters in the init function.
2012-10-31stm32/f1/can: clean up can_available_mailbox ->fewer 'if' statementsJeff Ciesielski
2012-10-31Merge pull request #57 F2/F4 timer merging actionPiotr Esden-Tempski
Merge remote-tracking branch 'tdaede/f4-timer'
2012-10-31Merge pull request #53 CAN fixesPiotr Esden-Tempski
Merge remote-tracking branch 'tdaede/master'
2012-10-31STM32F1 Addition to DMA to add interrupt flag read and clear.Ken Sarkies
Additional macros and defines added to header for the purpose. Also disable of increment modes (seem to have been omitted originally).
2012-10-31Merge pull request #22 fixing usb and f4 alignment issuesPiotr Esden-Tempski
Merge remote-tracking branch 'jdk/master' Conflicts: lib/stm32/f1/Makefile lib/stm32/f4/Makefile
2012-10-30Move timer.c to be common to all stm32 seriesThomas 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/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/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/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-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-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-18drop two-line vector.c dispatchers in favor of central dispatchchrysn
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-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-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-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-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.