Commit Graph

639 Commits

Author SHA1 Message Date
Alexandru Gagniuc 60ceec0266 lm4f: Compile in the interrupt vector table
Add an "#ifdef(LM4F)" clause to include/libopencm3/dispatch/nvic.h
and lib/dispatch/vector_nvic.c. This compiles in the vector table
and allows interrupts to be used.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 01:35:27 -06:00
Alexandru Gagniuc c1381bf54a lm4f: Compile with FPU support
Specify the -mfloat-abi=hard and -mfpu=fpv4-sp-d16 flags so that FPU
is enabled by default.
While this compiles with FPU support, in order to use the floating point types,
the FPU must be explicitly enabled at runtime.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 01:35:27 -06:00
Alexandru Gagniuc b2ac2ffc4b lm4f: Remove erroneous references to lm3s
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 01:35:27 -06:00
Alexandru Gagniuc 326c945b55 lm4f: Add lm4f support files copied from lm3s
Create lm4f code infrastructure from the lm3s infrastructure.

As far as the interrupt table is concerned, don't create an irq.yaml. Just
include the LM3S nvic.h. The LM3S vector table seems to be compatible with the
LM4F

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2012-12-31 01:35:25 -06:00
Norbert Braun 569ebfdffb Add __attribute__ ((naked)) to reset_handler() 2012-11-28 15:28:42 +01:00
Ben Gamari 08a14a9d9e stm32/f4/adc: DMA can always be used with ADC2
I can't find any evidence in the manual to support this comment's claim.
2012-11-14 20:07:28 -05:00
Karl Palsson 523943a3d2 [l1] Add common timer code support.
This has only been tested functionally with basic timers, and basic operations.
Advanced timer support has been #ifdefed to compile, but this probably needs more testing.
2012-11-14 00:27:13 +00:00
Karl Palsson df1808e2dc [l1] Add rcc clock setup helper routines
Despite the L1 being a low power device, my initial focus is on making
it basically compatible with existing devices.

To that end, provide clock setup helper routines that configure it for maximum performance,
allowing some similar clock speeds to F1 devices to help with testing. This requires adding
the power chipset routines to set the voltage range.

Clock setup style is similar to the F4 code, which seems nicer than the overflow of different
routines used on the F1 code.

NOTE: Both the F4 existing pwr code, and this code don't actually include the f1 core power
code, even though it should be compatible
2012-11-14 00:16:56 +00:00
Karl Palsson 72666a5b93 [l1] Add Flash Memory Controller Register defns for L1.
Also, some of the most basic essential helper functions.
2012-11-14 00:16:46 +00:00
Jeff Ciesielski db35fbb7ba Merge branch 'master' of git://github.com/libopencm3/libopencm3 into upstream-merge 2012-11-13 13:13:40 -08:00
Ken Sarkies 70746ccd67 Change to make L1 series fit with common files 2012-11-13 18:43:06 +10:30
Ken Sarkies 7d55ebbe0c Adjustments to fix documentation 2012-11-13 18:41:31 +10:30
Ken Sarkies e34ad9b3d2 rebase and fix 2012-11-13 18:41:31 +10:30
Ken Sarkies 4ab5c94b90 Proposed deduplication of peripherals, GPIO example
See rambling post on dev list for justification
2012-11-13 18:41:31 +10:30
Piotr Esden-Tempski d08d366e75 [doc] Added preliminary STM32 CAN documentation. 2012-11-12 15:43:45 -08:00
Piotr Esden-Tempski b2af3ca540 [doc] Cosmetic. 2012-11-12 15:14:06 -08:00
Piotr Esden-Tempski d64ec3cf58 Merge pull request #62 "Documentation updates for new devices"
Merge remote-tracking branch 'ksarkies/doc'
2012-11-12 14:11:46 -08:00
Ken Sarkies 35c0863a75 Documentation updates 2012-11-12 21:44:52 +10:30
Piotr Esden-Tempski f714ee42c0 Merging pull request #60 Miscellaneous DMA fixes for F4
Merge remote-tracking branch 'bgamari/master'
2012-11-08 12:04:28 -08:00
Ben Gamari 9fea26e455 stm32/usart: Add enable_/disable_error_interrupt 2012-11-08 14:54:41 -05:00
Ben Gamari 095e6cdb5d stm32f4/dma: Fix cut-and-paste error 2012-11-08 12:20:36 -05:00
Ben Gamari 2fe567e25d stm32f4: Add dma.o 2012-11-08 12:12:59 -05:00
Karl Palsson d417666095 Eliminate redundant gpio code from f2/f4/l1
Implemented as per exti2
2012-11-07 21:58:16 +00:00
Karl Palsson ce8f47e7df Enable nvic and exti support for L1
And include an example that uses it.
2012-11-07 21:54:18 +00:00
Karl Palsson 25acaa5878 Add usart support for L1.
Only tested with basic tx blocking, ie, the same example code as on
F2/F4, but the description of the block is almost identical.
2012-11-07 21:50:27 +00:00
Karl Palsson 4941286454 STM32L1 support, rebased onto upstream generalizations branch.
Working example again.
2012-11-07 21:50:27 +00:00
Karl Palsson e4f84278f2 Add most of the rcc functions.
(Add the forgotten gpio.c file from before)
2012-11-07 21:50:27 +00:00
Karl Palsson 8318384cf1 More progress towards L1 support.
Believe gpio is complete, but untested without finishing at least the
RCC defines.

RCC defines are a work in progress
2012-11-07 21:50:27 +00:00
Karl Palsson 2011941b55 Vectors and Memory Map for STM32L1 series 2012-11-07 21:50:27 +00:00
Andrey Smirnov 720e85f850 Further re-factor USB string handling code
This commit refactors USB string code, making it, hopefully, less
buggy and more easier to understand. It also removes "magic" bit
manipulation and "magic" numbers;
2012-11-07 11:30:44 -08:00
Andrey Smirnov c5c4db0196 Extend control hook framework
This commits adds a new error code that can be return from a
registered control callback: USBD_REQ_NEXT_CALLBACK. This return code
signifies that the callback is done processing the data successfully,
but user would like to have all matching callbacks down the callback
chain to be executed too.

This change allows for example to intercept standard requests like
GET_DESCRIPTOR, do some small action upon receiving of one, but still
have the standard callback executed and do it's job. This way user
doesn't have to re-implement standard GET_DESCRIPTOR functionality if
they want to intercept that request to do some small thing.
2012-11-07 10:33:51 -08:00
Andrey Smirnov 12e1786863 Add a desig_get_unique_id_as_string
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-06 16:48:40 -08:00
Andrey Smirnov 7a5da60e26 Change USB strings handling code
This commit add an extra field to the _usbd_device, that allows to
keep track of the number of USB strings  which allows simplify
boundaries checking code in usb_standard_get_descriptor.

This commit also changes the index base for strings in
usb_standard_get_descriptor which allows to get rid of necessity to
have a dummy one-character string in a strings array.
2012-11-06 16:46:55 -08:00
Jeff Ciesielski 6c41c808c3 stm32/f1/can: Add clearing of can timing bits on init
This corrects a bug introduced with the addition of allowing loopback
and silent parameters in the init function.
2012-11-01 18:02:11 -07:00
Jeff Ciesielski fa1d5f8e43 stm32/f1/can: clean up can_available_mailbox ->fewer 'if' statements 2012-10-31 17:03:26 -07:00
Piotr Esden-Tempski 507a1742dc Merge pull request #57 F2/F4 timer merging action
Merge remote-tracking branch 'tdaede/f4-timer'
2012-10-31 13:47:54 -07:00
Piotr Esden-Tempski def9b9f381 Added new f4 adc module to the library makefile. 2012-10-31 13:39:24 -07:00
Piotr Esden-Tempski f5df25d6de Merge pull request #55 STM32F4: New adc module
Merge remote-tracking branch 'ksarkies/adc-f4'
2012-10-31 13:38:51 -07:00
Piotr Esden-Tempski 60aa32e2b9 Merge pull request #53 CAN fixes
Merge remote-tracking branch 'tdaede/master'
2012-10-31 13:37:19 -07:00
Ken Sarkies 68e6818761 STM32F4 New: headers and source code for DMA
This has been tested with some dac, timer and (as yet uncommitted) adc examples.
2012-10-31 13:36:07 -07:00
Ken Sarkies 5a6b1a1934 STM32F1 Addition to DMA to add interrupt flag read and clear.
Additional macros and defines added to header for the purpose.
Also disable of increment modes (seem to have been omitted originally).
2012-10-31 13:35:59 -07:00
Piotr Esden-Tempski 6b2ca89f48 Merge pull request #22 fixing usb and f4 alignment issues
Merge remote-tracking branch 'jdk/master'

Conflicts:
	lib/stm32/f1/Makefile
	lib/stm32/f4/Makefile
2012-10-31 13:34:18 -07:00
Thomas Daede 016c74af25 F2 timers are the same as F4 timers, so make the same changes to them 2012-10-31 15:34:10 -05:00
Thomas Daede 9468933735 Add back timer_set_option for STM32F4, and document. 2012-10-31 00:42:58 -05:00
Thomas Daede a56764667c Update comments and copy author from F4 version. 2012-10-31 00:11:59 -05:00
Thomas Daede d7296f176a Move timer.c to be common to all stm32 series 2012-10-30 16:52:54 -05:00
Ken Sarkies 0bd415365d STM32F4: New adc module
Note adc.h was provided by Matthew Lai but was never merged.
adc.c is new.
2012-10-30 10:22:52 +10:30
chrysn a1f4c29872 Merge branch 'efm32'
this adds support for energy micro's efm32 tiny gecko, gecko, leopard gecko and
giant gecko series.

also, the experimental libopencmsis is included in this branch, as it is
required for full operation of the free energymicro standard library
2012-10-29 14:44:37 +01:00
chrysn a01e5c201b Merge branch 'generalizations'
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-29 14:34:42 +01:00
Thomas Daede f385341495 Release the correct fifo in can_receive() 2012-10-28 02:53:53 -05:00