655 Commits

Author SHA1 Message Date
chrysn
d3fe8c18f8 experimental yaml based header file generation
the header file genertion mechanism here is designed to:

* use human readable source data that is better structured and less
  repetitive than the header files themselves

* produce same quality header files than the manual process of writing
  them. some features were not yet enabled to show that the existing
  headers didn't change. (look at emu.h's differences. whitespace
  switched from tabs to spaces as they are easier to handle, use
  --color-words to see the few differences that stemmed from
  inconsistencies in the original file.)

* be less tedious and thus error prone when doing large modifications
  (eg, i forgot to add _MASK to bitfields, would like to enable
  bitbanding acces, and to overhaul the naming in doxygen modules)
2012-03-04 12:49:06 +01:00
chrysn
cdf36e6c8e efm32: some more cmu registers and doxygen update 2012-03-03 20:19:03 +01:00
chrysn
78c93dc779 add missed license headers to efm32 files
some files had nonstandard shared copyright lines, fixed them too
2012-03-03 00:26:55 +01:00
chrysn
4668adcf1f follow the license change to lgpl3 in efm32
this follows the license change of the master branches in [43561de]. all
files whose copyright is not my own are originally based on files whose
license has been changed in master.

the expression used for the conversion was:

sed -i -e 's/This program is free software: you can redistribute/This library is free software: you can redistribute/g' -e 's/under the terms of the GNU General Public License as published/under the terms of the GNU Lesser General Public License as published/' -e 's/This program is distributed in the hope that/This library is distributed in the hope that/g' -e 's/You should have received a copy of the GNU General/You should have received a copy of the GNU Lesser General/' -e 's/along with this program.  If not/along with this library. If not/' -e 's/GNU General Public License for more details/GNU Lesser General Public License for more details/' */**/efm32/**/*(.)

[43561de] 43561de3297b88d68753cb4625d6dc48bfb43d71
2012-03-03 00:21:21 +01:00
chrysn
563586c072 Merge branch 'master' into efm32 2012-03-02 23:59:52 +01:00
Piotr Esden-Tempski
43561de329 License change of the library to LGPL, version 3 or later.
Agreed to by all the significant contributors to the library.
2012-03-02 14:44:49 -08:00
chrysn
e388056fda efm32: energy management unit headers and example 2012-03-02 21:54:23 +01:00
chrysn
eda122180a (efm32: remove todo that couldn't work out) 2012-03-02 21:53:52 +01:00
Piotr Esden-Tempski
994d559a6c Corrected interrupt flag register defines. 2012-02-29 18:00:10 -08:00
Piotr Esden-Tempski
f5cd026ae3 Added dma_channel_reset prototype. 2012-02-29 17:53:46 -08:00
chrysn
70ac046f98 added efm32 lightswitch example 2012-03-01 02:47:06 +01:00
chrysn
541fded753 convenience functions for efm32 gpio
also, the whole gpio header file is now a big doxygen group, structuring
the convenience functions and the register/value definitions
2012-03-01 02:18:22 +01:00
Piotr Esden-Tempski
ec904f176b Cleaned up and streamlined DMA support for f1. Definitely needs a bunch of testing! 2012-02-29 16:02:51 -08:00
Piotr Esden-Tempski
20c5e56234 Fixed spi convenience reset function to compile properly. 2012-02-29 12:02:36 -08:00
chrysn
a747e887bd efm32 tinygecko gpio: implemented all the bit values
along with the actual implementation comes a first attempt to better
structure the doxygen groups. putting all the groups in a bigger one
makes it easier to reference them from the file itself, and makes the
structure clearer on the module page.
2012-02-29 02:32:14 +01:00
Piotr Esden-Tempski
c49f505df4 Added spi reset convenience function. 2012-02-28 11:28:29 -08:00
chrysn
8e90ffa2ab fixed a bug in efm32 miniblink example
actually, it wasn't a bug; the compiler just optimized a statement away
until it was declared volatile. inserting a no-op assembler instruction
to make it more obvious what's going on
2012-02-27 19:20:19 +01:00
chrysn
805119786c added upload target for segger's JLink tool
this is quite a hack, but the only way i know of by which firmware can
be uploaded to the efm32tg-stk until OpenOCD supports SWD on jlink
2012-02-27 17:59:58 +01:00
chrysn
09523e854d efm32 example: enhanced makefiles 2012-02-27 16:07:24 +01:00
chrysn
f52b1a56b0 make doxygen ignore __attribute__
doxygen doesn't understand __attribute__ and constructs bogus call
graphs and dependencies from it.

according to the doxygen maintainer[1], this is the way to deal with it.

[1] http://sourceforge.net/mailarchive/message.php?msg_id=20085215
2012-02-27 14:14:22 +01:00
chrysn
d6a314bed7 efm32: make all interrupts usable in vector table
* define weak symbol for ${irq_name}_isr
* put them in the rom vector table
* declare reset_vector weak in case someone wants to insert code there
* remove null_handler (null handlers should be only requested
  explicitly, and finding out why the chip gets stuck is easier than
  determining whether or not a no-op interrupt handler was executed)
2012-02-27 14:00:34 +01:00
chrysn
f4376371ec efm32: minor documentation enhancements 2012-02-27 13:24:19 +01:00
chrysn
f6025af859 efm32 tinygecko: defined interrupts
there seems not to be anything family specific about the interrupt
vectors of m3 based efm32 systems, thus renaming vector.h to irq.h
2012-02-27 13:21:40 +01:00
chrysn
be62115f00 efm32: created memory map from all base addresses 2012-02-27 12:01:41 +01:00
chrysn
91732cbb9e make doxygen ignore .d files
.d files are created to track Makefile dependencies and don't contain
real code
2012-02-26 03:49:06 +01:00
chrysn
2275ed7b0c overhauled documentation
includes minor refactoring in example code and modification of how the
generic and the tinygecko specific vector.h go together (bringing it in
line with stm32/f1's memorymap.h)
2012-02-26 03:42:25 +01:00
chrysn
08918902ab made blinking a led on efm32 possible
this includes all register definitions for the gpu and mcu modules, but
not all their bit definitions
2012-02-25 23:22:37 +01:00
chrysn
2180a02e2f first attempt at porting libopencm3 to energymicro
unless sources are explicitly given, the linker scripts and make files
were copied over from the stm32/f1 port.
2012-02-25 23:22:37 +01:00
Piotr Esden-Tempski
2b3f07ee08 Added reset function to i2c convenience functions. 2012-02-24 17:14:50 -08:00
Piotr Esden-Tempski
cbef43ddd8 Added set priority group convenience function. 2012-02-24 16:43:37 -08:00
Piotr Esden-Tempski
c5e5c0fdab Updated SCB_AIRCR_PRIGROUP bit definitions to be more consistent with the style the library. 2012-02-24 16:21:23 -08:00
Piotr Esden-Tempski
1c5dfd9d22 Added fancyblink for lisa/m V2 2012-02-21 16:12:29 -08:00
Piotr Esden-Tempski
c654b2199a Renamed current lisa-m tests to lisa-m-1 as it differs a bit from v2. 2012-02-21 13:51:56 -08:00
Piotr Esden-Tempski
bffbb0e54d Added missing gpio definitions for timer 5. 2012-02-13 19:45:28 -08:00
Piotr Esden-Tempski
5a384ff895 Added combined gpio bank definitions to timers as you tend to set those up in bulk. 2012-02-13 16:02:08 -08:00
Piotr Esden-Tempski
b325c81127 Forgot some BANK suffixes. 2012-02-13 13:51:41 -08:00
Piotr Esden-Tempski
d4ea773de4 Added bank definitions to f1 gpio header. 2012-02-13 13:40:49 -08:00
Gareth McMullin
2433f17e73 Fix setting alternate port functions on the STM32F2.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Gareth McMullin
03e44e91e3 Linker scripts provide stack pointer at the top of RAM.
Thanks to Tomaz Solc.
2012-02-12 15:00:09 -08:00
Gareth McMullin
e11185d47d Fix setting alternate port functions on the STM32F4.
Thanks to Ricardo Martins.
2012-02-12 15:00:09 -08:00
Mike Smith
7da1967056 Add an interface for soft disconnection, and hook it up in the F107 driver. 2012-02-12 15:00:08 -08:00
Mike Smith
5310cd1b57 Flash sector erase requires the FLASH_SER bit set. 2012-02-12 15:00:08 -08:00
Mike Smith
cdcfaaf688 F4 examples should build for F4, pass consistent arguments to the compiler and linker to ensure that compatible libraries are linked. 2012-02-12 15:00:08 -08:00
Piotr Esden-Tempski
1a3ad6e998 Added the entry point definiton to all stm32 linker scripts. This allows gdb to reset the target correctly on exit. 2012-02-11 22:24:41 -08:00
Uwe Hermann
9532195e65 More coding-style and cosmetic fixes. 2012-02-06 23:39:06 +01:00
Uwe Hermann
5f82f28d01 f2/dma.h: Whitespace and coding-style fixes. 2012-02-06 23:27:00 +01:00
Fergus Noble
9949b5dcf4 Fixed typo in F2 dma header to match the datasheet. 2012-02-06 23:08:07 +01:00
Fergus Noble
3e47a46c5c Fix numerous bugs in NVIC convenience functions, doing an |= on a clear register will clear ALL currently enabled irqs, not just the one you specified and other things of that sort. Also changed to support the full range of irq numbers supported by ARMv7M, not just the first 68 used in the STM32F1 series. 2012-02-06 23:08:07 +01:00
Fergus Noble
477c410be4 Added functions to enable and disable DMA from stm32 USART. 2012-02-06 23:08:07 +01:00
Fergus Noble
7c67322f75 Change stm32 usart baud rate generation to round rather than floor for more accurate divisor selection. 2012-02-06 23:08:07 +01:00