Commit Graph

43 Commits

Author SHA1 Message Date
Karl Palsson 595aa806e6 efm32: add USB mass storage class code
We added this in the main branch earlier, but efm32 usb code was in
flux.  Added now that it's stable again.
2018-06-27 22:13:40 +00:00
Karl Palsson 9a05dcb6c0 ld scripts: drop duplication of standard sections
Instead of every "simple" target having their own duplicate file with
all the section mappings, just provide a single, simple,
"cortex-m-generic.ld" that works with our startup code and any simple
rom/ram system.  This also drops the pointless copying of files all over
the place.  Using -L flags properly is sufficient, and the standard file
is now in the root of the library already.
2018-04-28 21:12:27 +00:00
kbob dd87b5bed2 EFM32WG and EZR32WG: use hard-fp as it's available 2018-04-27 21:37:03 +00:00
kbob e8154aa44a efm32: Add EZR32WG "EZRadio Wonder Gecko" family. 2018-04-27 21:37:03 +00:00
kbob c3889b91df efm32: Add EFM32WG "Wonder Gecko" family. 2018-04-27 21:37:03 +00:00
kbob 5160d7996c efm32: Split efm32/lg into /lg and /common.
Somewhat replaces some earlier work done by hg/lg, but much more
complete, so we kept it as is, because it's bringing in even more parts
after this.

Reviewed-by: Karl Palsson <karlp@tweak.net.au>
2018-04-27 21:36:42 +00:00
Sebastian Holzapfel 36a45c387d efm32hg: add linker script for efm32hg309f64 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel 995d19ebfd efm32hg: usb: add usb support 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel 3c855e75d1 efm32hg: cmu: add updated cmu implementation based on efm32lg 2018-03-02 22:42:05 +00:00
Sebastian Holzapfel 18f64812eb efm32hg/lg: timer: use common timer implementation 2018-03-02 22:42:04 +00:00
Sebastian Holzapfel c6296a4d88 efm32hg/lg: gpio: use common gpio implementation 2018-03-02 22:42:04 +00:00
Sebastian Holzapfel a86948ec6e efm32hg: add basic makefile, interrupts, device information 2018-03-02 22:42:04 +00:00
Karl Palsson b860319785 make: use std=c99 everywhere by default.
setting "STANDARD_FLAGS=-std=c11" or similar will let you try out
alternate compilation modes.

Fixes https://github.com/libopencm3/libopencm3/issues/773
2017-06-08 23:01:45 +00:00
Karl Palsson 781e4d94ba efm32lg: mark internal function as static
Squelches gcc warnings

Fixes github #686
2016-08-15 15:54:55 +00:00
Jean-Philippe Ouellet 1cca117e58 Fix a few comments with logical/bitwise OR reversed. 2016-01-09 20:37:20 +00:00
Piotr Esden-Tempski b1049f9a6f [Style] Stylefix sweep over the whole codebase. 2015-12-14 22:57:15 +01:00
Piotr Esden-Tempski 1f6fd11dd9 [Style] Fixed all style errors in the efm32. 2015-12-14 19:30:04 +01:00
Kuldeep Singh Dhaka 77354cb371 Inital support for EFM32LG 2015-12-13 19:56:19 +01:00
Tido Klaassen aad8d06c3f make: rename CFLAGS in target Makefiles to TGT_CFLAGS
Renamed every instance of variable CFLAGS in target specific Makefiles
to TGT_CFLAGS to free up CFLAGS for user defined compiler flags.

Added information in README.md about existence and usage of CFLAGS
environment variable in build process.
2015-10-11 19:14:25 +00:00
Karl Palsson 6d658c20b8 make: use shared DEBUG_FLAGS (-gdb3) by default
-ggdb3 make slightly bigger .elf files, but allows gdb to understand
macros, which libopenocm3 uses somewhat extensively.  Make this the
default, and pull it up to the common base makefile, so it can be easily
substituted.
2015-05-04 13:45:07 +00:00
Frantisek Burian 6de1b50c4e [BUILD] Fix the correct make behavior if compiling inside tree
On linux, the output of CP rule was try to write to / which is - of course, forbidden for write.

This solution adds to each part of lib correct pointer to the root of lib where the libs should be written.

Bug found by Kuldeep Singh Dhaka.
2014-02-12 15:27:03 +00:00
Alexandru Gagniuc 52d34c814b Global: Allow overriding float-abi flags
We currently default to "-mfloat-abi=hard -mfpu=fpv4-sp-d16" for M4F cores, and
and variations of "-mfloat-abi=soft" for the others. Keep the M4F default, and
move others to no FP flags for consistency, but allow overriding these flags
via the FP_FLAGS environment variable.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2013-07-07 18:59:33 -07:00
Nicolas Schodet b2df978eae Add support for static constructors and destructors 2013-04-24 22:49:25 +02:00
Nicolas Schodet cba01fff5e Synchronise linker scripts which are supposed to be identical
This also report bug fixes about data alignment and bss storage to EFM32 &
LM3S targets.

Note: removed chrysn copyright statement as the file is a verbatim copy of
previous files.
2013-04-24 22:49:25 +02:00
Piotr Esden-Tempski b0233ae6fb Added more warning CFLAGS to all makefiles. 2013-02-26 16:42:20 -08:00
chrysn 20bfcaeb1c efm32gg990f1024: added linker script 2013-01-10 11:42:32 +01: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 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 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 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 fa3c1ea6a2 pulling in a simplification in per-arch makefiles 2012-10-19 00:19:07 +02:00
chrysn 0e3fdc57d5 remove files not required in generalizations branch any more 2012-10-18 19:18:25 +02:00
chrysn b5de267b06 use _data_loadaddr instead of _etext
this change was done in master in [1] and just merged here.

[1] 74cd991e7e
2012-10-02 12:05:36 +02:00
chrysn 36f95447a8 add back minimal support libraries
some of the libraries removed in [1] were essential to building
anything on efm32 (especially, irq.h).

[1] 4a6f4c0f7d
2012-10-02 11:55:05 +02:00
chrysn 4a6f4c0f7d remove the support libraries for efm32
i don't plan to extend or support them, and they'll just grow stale
2012-09-15 01:29:31 +02: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] 43561de329
2012-03-03 00:21:21 +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
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 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 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