Commit Graph

300 Commits

Author SHA1 Message Date
Ken Sarkies 52fd7c7976 STM32F timers. Doxygen markup added, and some code changes:
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-10 09:32:47 +09:30
Karl Palsson 83d62e9bfc Add linker scripts with memory maps for F100 series.
These definitions are a physical property of the device for most purposes.
No reason not to supply them premade.
2012-06-29 02:10:53 -07:00
Karl Palsson 450c3e00a1 Basic helper routines for CRC
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-29 02:08:53 -07:00
Piotr Esden-Tempski 98174e4a0c Merge pull request #13 "Code for iwdg module STM32F series"
Merge remote-tracking branch 'ksarkies/iwdg-dev'
2012-06-27 14:02:02 -07:00
Piotr Esden-Tempski a70eabb3e1 Merge pull request #11 "Add helper function for max clock on HSI for f100"
Merge remote-tracking branch 'karlp/hsi_f1_24'
2012-06-27 13:58:14 -07:00
Piotr Esden-Tempski 4a17185791 Merge pull request #10 "Add Device Electronic Signature support."
Merge remote-tracking branch 'karlp/desig'
2012-06-27 13:56:55 -07:00
Piotr Esden-Tempski db505a87f7 Merging pull request #7 "Use ODR instead of IDR to toggle an output GPIO"
Merge remote-tracking branch 'schodet/gpio-toggle'
2012-06-27 13:49:26 -07:00
Piotr Esden-Tempski 3bfeeedceb Merge pull request #6 "Doxygen markup and grouping structrue"
Merge remote-tracking branch 'ksarkies/doc'

Conflicts:
	include/libopencm3/cm3/common.h
2012-06-27 13:30:45 -07:00
TitanMKD 81317c02ab * Updated GPIO added gpio_toggle() function.
* Fixed ROM to RAM Linker script (libopencm3_lpc43xx/libopencm3_lpc43xx_rom_to_ram.ld).
2012-06-25 22:12:00 +02:00
TitanMKD d80ee80e06 Merge branch 'master' of git://github.com/jboone/libopencm3 2012-06-16 12:51:44 +02:00
Jared Boone 536c922577 Modified SSP driver to wait for data to be sent before returning. This is critical when controlling device CS# pins via GPIO. Long-term, it might be better to have a different API that permits this level of control. 2012-06-15 17:20:50 -07:00
Ken Sarkies 0fabe4462b Fix Typo 2012-06-14 19:45:46 +09:30
Ken Sarkies 2f4cd29324 Code for iwdg module STM32F series 2012-06-13 22:14:53 +09:30
TitanMKD c65ca01044 Fix Linker bug copy ROM to RAM & exec from RAM (need more test). 2012-06-13 01:05:49 +02:00
Karl Palsson 62849f043c Add helper function for max clock on HSI for f100
Based on existing HSI code. Tested with f100c8, on custom board with no
external crystals or resonators.
2012-06-12 20:56:34 +00:00
Karl Palsson 71a3a7f2b1 Add Device Electronic Signature support.
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-06-12 20:53:59 +00:00
TitanMKD 3c8e76f679 Added ROM to RAM code copy & exec with example of how to use it (miniblink_rom_to_ram). 2012-06-10 11:44:36 +02:00
TitanMKD 8d97dbc7c3 Work on scs.h register and also nvic.h.
ARM Interrupt API (see nvic.h).
ARM SysTick API (see systick.h).
Example using both Interrupt and SysTick and blink LED1/2/3 see systickdemo.c.
2012-06-09 18:27:42 +02:00
Michael Ossmann 251687fe37 changed I2C to run directly from IRC 2012-06-06 22:05:03 -06:00
TitanMKD 8adc873e84 Fixed SSP, tested with Oscilloscope Write work fine (tested SPI Mode).
For more details on tests see ssp/README.
2012-06-06 00:30:25 +02:00
Michael Ossmann 3a4a6b75de resolved minor conflict 2012-06-04 18:00:20 -06:00
Michael Ossmann e7941eace9 added i2c.c that I forgot earlier 2012-06-04 17:57:49 -06:00
TitanMKD d7a7fd9d30 * Added SSP Driver (Not Tested).
* Replaced leading space by tabulations.
2012-06-05 01:41:54 +02:00
Michael Ossmann 5698016877 moved stuff out of i2cdemo.c and into drivers/headers 2012-06-04 17:30:08 -06:00
TitanMKD 686c0cf050 Minor fix 2012-06-04 19:13:53 +02:00
TitanMKD 646e8f20f1 Merge branch 'master' of git://github.com/libopencm3/libopencm3 2012-06-03 18:55:42 +02:00
TitanMKD cb1cd9d9d6 Merge branch 'master' of git://github.com/libopencm3/libopencm3 2012-06-02 09:47:52 +02:00
TitanMKD e7fbc2220b Added JellyBean Configuration for PinMux, GPIO In/Out (work in progress).
Added scu driver file scu.c.
Modified Makefile/Makefile.include to generate .map file and use -O2 as optimization.
Modified hackrf-jellybean miniblink.c to enable 1V8 and blink LED1,2&3 with configuration of PinMux and GPIO.
2012-06-02 09:45:03 +02:00
Nicolas Schodet 12a73ce052 Use ODR instead of IDR to toggle an output GPIO
IDR represents the level on pin input while ODR is the value requested by the
programmer. This makes a difference for example when using the output as open
drain.
2012-05-31 00:08:23 +02:00
Ken Sarkies 06620040aa Header files for Doxygen group structure, layout changes to headings, example markup in stm32f1/ rcc 2012-05-28 21:38:55 +09:30
Michael Ossmann 38abe9f01f replaced linker script I accidentally deleted 2012-05-27 23:07:13 -06:00
Michael Ossmann 82181c2cda trying to rm again 2012-05-27 23:02:18 -06:00
Michael Ossmann 27b1597c1a rm renamed file 2012-05-27 20:33:18 -06:00
Gareth McMullin 154f67598b Fixed setting of interrupt priorities. 2012-05-26 20:47:47 +12:00
Piotr Esden-Tempski 7011d47c70 Mark reg32 variables as used. So that the compiler does not complain. 2012-05-25 17:56:15 -07:00
Michael Ossmann 4c37af55f4 renamed linker script 2012-05-22 14:46:05 -06:00
Michael Ossmann 3a9d48923a semicolons might help 2012-05-22 14:21:11 -06:00
Michael Ossmann 61e162e3d2 Makefile updates 2012-05-22 14:20:39 -06:00
Michael Ossmann ce14f4c077 updated linker script 2012-05-22 14:15:20 -06:00
Michael Ossmann 5e1bcaa582 gpio.c, vector.c updated for LPC43xx 2012-05-22 13:55:50 -06:00
Michael Ossmann 9439ce9d69 new lib/lpc43xx, starting with copy of lpc17xx 2012-05-22 10:59:27 -06:00
Piotr Esden-Tempski 3596075ee0 Fixed the linker scripts to be the way Tomaz Solc proposed.
Something went wrong when cherrypicking his commits in the pull request.
Sorry about that. :(
2012-04-25 17:34:07 +02:00
Piotr Esden-Tempski 3b20a5e34e Removed the load address statement from the .bss section.
Otherwise the linker will complain: "section has both a load address and
a load region"
2012-04-24 09:34:39 +02:00
Tomaz Solc bf65589183 Support for exception handling in linker scripts.
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-24 09:16:22 +02:00
Tomaz Solc 5510e1fe3b Wait for writes to finish upon exiting RTC config
This fixes race condition when rtc_get_counter_val() call immediately follows
rtc_set_counter_val().
2012-04-24 09:06:32 +02:00
Piotr Esden-Tempski b8086b4ee2 Merge remote-tracking branch 'gsmcmullin/timer_input' 2012-04-20 16:41:16 -07:00
Gareth McMullin 8820277f09 Added functions for configuring timers in slave mode. 2012-04-08 14:12:21 +12:00
Gareth McMullin a8ec86a527 Added functions for timer input capture polarity and enable/disable. 2012-04-08 13:55:16 +12:00
Gareth McMullin 4b041697f4 Added convenience function for timer input selection. 2012-04-08 11:56:42 +12:00
Gareth McMullin a62473fbdf Added convenience funcions for timer input capture filter and prescaler. 2012-04-08 11:11:52 +12:00