Thomas Daede
f385341495
Release the correct fifo in can_receive()
2012-10-28 02:53:53 -05:00
Thomas Daede
1bb0e9b970
Add CAN support for F2 and F4 series.
...
All stm32 series currently released share the same bxCAN hardware, so share can.c among all the families.
2012-10-28 02:50:46 -05:00
Jeff Ciesielski
f80bf1ccb1
stm32/i2c: Add DOXYGEN strings for i2c helper functions.
...
Also: Define i2c_dutycycle group in i2c header
2012-10-22 15:48:22 -07:00
Karl Palsson
e55a9e3875
Missing EXTI ports and flag numbers for F4
...
(Also missing for forthcoming L1)
2012-10-22 22:37:44 +00:00
Jeff Ciesielski
94abf6e529
stm32/f1: Add user_reset_hook to reset_handler w/ jump_to_dfu preset
...
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-22 14:45:44 -07:00
Jeff Ciesielski
dd5e797d61
stm32/f1/can: Add function to detect if can system has an available mailbox
2012-10-22 13:26:58 -07:00
Silvio Gissi
0a1cf977eb
Added irq.yaml to lpc_13xx and lpc_17xx families
2012-10-21 08:54:40 +02:00
Jeff Ciesielski
ffe392c11b
stm32/f1/i2c: remove unnecessary parenthesis
2012-10-19 23:16:08 -07:00
Jeff Ciesielski
24a35126bf
stm32/f1/can: Replace mistaken logical operators with bitwise operators.
...
also: remove unnecessary parenthesis
2012-10-19 23:05:37 -07:00
Jeff Ciesielski
1cb373464c
stm32/f1/gpio: use |= instead of = when setting up registers
2012-10-19 16:33:38 -07:00
Jeff Ciesielski
527eeacbff
stm32/f1/rtc: add PLL2/3 to switch statement to avoid compiler warning
2012-10-19 16:32:37 -07:00
Jeff Ciesielski
069a758f6c
stm32/f1/rcc: add 25mhz in to 72mhz out clock tree setup function.
...
also: added support for previously undefined PLLs
2012-10-19 16:31:52 -07:00
Jeff Ciesielski
153e81bc96
stm32/f1/vector: add ability to boot to DFU bootloader
...
note: Only works on CL devices
also: this could probably use a helper function
2012-10-19 16:30:27 -07:00
Jeff Ciesielski
be4ee41ef9
stm32/f1/i2c: add a whole bevy of additional helper functions
2012-10-19 16:29:20 -07:00
Jeff Ciesielski
a2fc8768c6
stm32/f1/dma: add clear_flag helper function
2012-10-19 16:28:44 -07:00
Jeff Ciesielski
4b86c28141
stm32/f1/can: Add loopback/silent vars to init function.
...
Also: add helper function for mailbox checking
2012-10-19 16:27:17 -07:00
chrysn
1e88ad186f
remove common modules from efm32*'s explicit build list
...
this is 75c216582 for the efm32 branch, see there for details
2012-10-19 19:30:25 +02:00
chrysn
a433217c5d
Merge branch 'generalizations' into efm32
2012-10-19 19:29:32 +02:00
chrysn
f62eee7644
remove nvic.o from stm32/f[24]'s explicit list
...
this was missed out in 75c216582, see there for details
2012-10-19 19:29:06 +02:00
chrysn
14a5fc78cf
completing dispatch
...
the LM3S irq list was previously unused as it was missing in the
dispatch files; now it got added. (before HEAD^, it wouldn't have made
any difference because the discriminating constant wasn't defined
anyway)
also, this enhances the warning messages
2012-10-19 19:10:42 +02:00
chrysn
99d7b21032
define platform specific constants for all chips
...
previously, only stm32 chips passed the information about which chip to
build on into the compiler. this information is essential to dispatch,
thus defining LPC13XX, LPC17XX, LPC43XX and LM3S in analogy to
STM32F1..4.
2012-10-19 19:10:42 +02:00
chrysn
75c2165827
build common .o files everywhere (fixes issue #29 )
...
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-19 18:56:39 +02:00
chrysn
1210738845
add generic OBJS to efm32 libraries
...
better fixes would be adding them to the generic (included) Makefile or
building the really device independent stuff in a _generic library
2012-10-19 17:03:23 +02:00
chrysn
6706899551
build vector.o on lpc13xx
...
no idea how this ever worked...
2012-10-19 15:18:21 +02:00
chrysn
843660dbfd
copied over linker scripts
...
this will need some generalization too...
2012-10-19 15:02:09 +02:00
chrysn
e11edaff11
build all efm32 families
2012-10-19 14:53:06 +02:00
chrysn
ab5a544d45
added irqs for the rest of the efm32 devices
2012-10-19 01:11:43 +02:00
chrysn
d526dd3268
rename tinygecko->efm32tg everywhere
2012-10-19 00:59:49 +02:00
chrysn
962f328691
renamed linker file to work with included makefile
2012-10-19 00:41:22 +02:00
chrysn
d13043d787
change discriminator in efm32 series from TINYGECKO to EFM32TG
2012-10-19 00:31:10 +02:00
chrysn
fa3c1ea6a2
pulling in a simplification in per-arch makefiles
2012-10-19 00:19:07 +02:00
chrysn
3a2e1c45aa
Merge branch 'generalizations' into efm32
2012-10-18 23:00:25 +02:00
chrysn
bc5146b710
unified systick handling
...
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-18 22:48:14 +02:00
chrysn
e20f1c0d8f
unify scb (system control block)
...
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-18 21:45:20 +02:00
chrysn
0e3fdc57d5
remove files not required in generalizations branch any more
2012-10-18 19:18:25 +02:00
chrysn
becfbc70e1
Merge branch 'generalizations' into efm32
2012-10-18 19:06:58 +02:00
chrysn
0548317683
fix bug resulting from equally named files
...
the local vector.o files shadowed the ../cm3/vector.c from VPATH,
resulting in empty reset vectors.
2012-10-18 18:54:52 +02:00
chrysn
47c69695ce
Merge branch 'generalizations' into efm32
...
Conflicts:
Makefile
2012-10-18 18:43:44 +02:00
chrysn
c69916ffb6
integrate irq2nvic_h script in buildprocess
2012-10-18 17:58:12 +02:00
chrysn
ae832b4ee8
split irq.yaml output in nvic.h and vector_nvic.h
...
the weak pragmas need to be used in the very compilation unit where
their target is defined, requiring another dispatch
2012-10-18 17:33:20 +02:00
chrysn
5afa53f01a
drop two-line vector.c dispatchers in favor of central dispatch
2012-10-18 16:29:58 +02:00
chrysn
9c13299f25
unified nvic.c
2012-10-18 13:22:12 +02:00
chrysn
7c33025c31
Merge branch 'master' into generalizations
...
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-17 18:55:54 +02:00
Ken Sarkies
0c779512d6
Initial documentation for SPI, I2C and CRC
...
(no code changes)
2012-10-16 14:08:04 -07:00
Ken Sarkies
c4b7e2a76a
Additional stm32/usart.c functions to enable/disable Rx/Tx
...
interrupts, return a status flag and check for interrupt source.
2012-10-16 14:07:34 -07:00
Ken Sarkies
6ee8e44bd7
Initial documentation for stm32/usart.c, usart.h
...
Some minor documentation corrections to timer.h
2012-10-16 14:07:27 -07:00
Ken Sarkies
0834f41383
stm32f1:
...
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-16 14:05:45 -07:00
Thomas W. Barr
f94d71efee
add _end and __end symbols for compatibility with code written against CodeSourcery linkers
2012-10-08 16:42:47 -05:00
Thomas W. Barr
8f9f2bdc00
complete peripheral handlers in vector table
2012-10-08 16:40:36 -05:00
Piotr Esden-Tempski
cb60e37608
Merging pull request #37 Adds hard-float support to stm32f4, with a nice mandelbrot example
...
Merge remote-tracking branch 'schodet/hard-float'
2012-10-05 13:03:58 -07:00