1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

88 Commits

Author SHA1 Message Date
7c121000ce
make/riscv: remove use of export for LINKFLAGS 2020-01-02 09:51:20 +01:00
b664de5593
make/msp430: remove use of export for LINKFLAGS 2020-01-02 09:50:55 +01:00
1e8528d6e8
cpu/mips: remove use of export for LINKFLAGS 2020-01-02 09:48:46 +01:00
27e8caf3f3
Merge pull request #12526 from kaspar030/fix_fe310_default_optimization
cpu/fe310: change default optimization to "-Os"
2019-11-15 13:10:13 +01:00
benpicco
80c00339a4
Merge pull request #12477 from francois-berder/mips-refactor
cpu: mips*: Reorganize headers
2019-10-21 15:26:45 +02:00
1193b0b1f8 cpu/fe310: change default optimization to "-Os"
Also moves the option to CFLAGS_OPT.
2019-10-21 11:27:21 +02:00
Benjamin Valentin
b1ef68abf7 cpu/atmega_common: move periph/cpuid.c to common code
Both atmega128rfa1 and atmega256rfr2 implement it.
2019-10-17 19:20:31 +02:00
Francois Berder
9af14d7eb2 makefiles: arch: mips: Define CPU_MODEL in CFLAGS
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-10-16 20:00:32 +01:00
Gaëtan Harter
7416337d4d
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
Remove the workaround for clang 3.6.2 that did not support
'cortex-m0plus'.

clang 3.8 was already supporting it according to the PR introducing the check.
clang >=3.8 is avaible since ubuntu-xenial and debian-stretch.
The current ubuntu-bionic has clang 6 and debian-buster clang 7.

This removes overwriting 'CPU_ARCH'.
2019-10-08 16:19:51 +02:00
benpicco
5f6065f567
Merge pull request #12338 from cladmi/pr/make/cortexm/do_not_set_cpu_model
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
2019-10-01 15:25:16 +02:00
Gaëtan Harter
3a938d43e7
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
All cortexm boards should now define it on there own.
2019-10-01 11:38:35 +02:00
benpicco
5105a2e54d
Merge pull request #12340 from cladmi/pr/makefiles/board_cpu_macros
makefiles: CFLAGS convert to the uppercase function instead of using the shell
2019-09-30 19:53:28 +02:00
Gaëtan Harter
0303b96441
makefiles/arch/mips.inc.mk: use makefiles/utils lowercase function
Use the new common 'lowercase' function from makefiles/utils.
2019-09-30 17:35:06 +02:00
Gaëtan Harter
ba55d1d7f5
makefiles/arch/cortexm.inc.mk: use makefiles/utils uppercase
Convert the variables to uppercase using the 'makefiles/utils' function.
2019-09-30 17:25:24 +02:00
Juan Carrano
63c475cd4d toolchain/cflags: enable dwarf compression.
Use the -gz option to compress ELF sections containing DWARF information.
This saves around 50% of disk space, without any side effects.

See https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Debugging-Options.html#Debugging-Options
for more infomation on this option.

Some platforms have an outdated toolchain that does not support -gz so
the flag is blacklisted there. Even then, the results are quite impressive.

I used @cladmi's `buildtest` branch (https://github.com/cladmi/RIOT/tree/wip/du/buildtest)
with this change and compiled the `examples/default` application:

```
$ BUILD_IN_DOCKER=1 DOCKER="sudo docker" make -C examples/default buildtest-indocker
```

The size was obtained with:

```
$ find output -name "*.bin.bindirsize" -type f -exec tail  -n1 '{}' \; | cut -f 1 | awk '{s+=$1} END {printf "%.0f", s}'
```

Results:

- Vanilla: 10328112 KB (~10GB).
- with -gz: 4982788 KB (~5GB).

This was inspired by #8496.
2019-09-02 14:43:26 +02:00
Gaëtan Harter
e4331e8391
cpu/arch: blacklist incompatible CFLAGS
Blacklist incompatible CFLAGS that are currently "optionally" included
in 'cflags.inc.mk'.

This prepares for the migration to 'OPTIONAL_CFLAGS'.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
34f69245c3
makefiles: do not locally export compilation variables
These are already exported by `makefiles/vars.inc.mk`.
It is a prerequisite to allow handling compilation without global exports.
2019-08-29 10:35:36 +02:00
Gunar Schorcht
d84f75b4d0 cpu/atmega_common: activate wrapper functions when linking 2019-08-12 23:22:23 +02:00
Gaëtan Harter
2d5ed4f849
cortexm.inc.mk: remove deprecated USE_NANO_SPECS
It was replaced by using directly the `newlib_nano` module.
2019-07-22 16:54:06 +02:00
smlng
2de4b3011b periph_common: add as dependency to periph drivers
Rational: the periph_common module is required by (most) other periph drivers
and also during startup of the CPU/MCU to run periph_init. The latter is only
required if other periph drivers are used, hence periph_common should be a
depency of periph_* modules and *not* of the CPU/MCU. This PR fixes that
by making periph_common a depency of periph_* and removing the explicit
include in the CPU/MCU implementation.
2019-06-03 13:44:10 +02:00
Francisco Acosta
c897773daf makefiles: add atmega arch generic makefile 2019-02-05 17:12:01 +01:00
Dylan Laduranty
6d3fda7260 cpu/cortexm: add cortex-m23 support 2019-01-21 17:04:20 +01:00
Gaëtan Harter
89d7e2ec33
cortexm.inc.mk: detect 'arm-none-eabi-gcc' from ubuntu bionic
arm-gcc version from ubuntu bionic repository is not supported in RIOT.
Both when building with `gnu` and `llvm`.

    arm-none-eabi-gcc --version
    arm-none-eabi-gcc (15:6.3.1+svn253039-1build1) 6.3.1 20170620

So detect this version and print an error if found.

The check is done on the building machine and not on the host when building in
docker.

The error can be disabled when building with WERROR=0.
2019-01-10 13:27:22 +01:00
Vincent Dupont
06f0c14460 cortexm_common: enable FPU on cortex-m4f 2019-01-03 15:24:20 +01:00
Vincent Dupont
515d3a658b cpu/mips: use gnu99 by default 2018-10-04 08:48:43 +02:00
Vincent Dupont
192e79b175 cpu/msp430: use gnu99 by default 2018-10-04 08:48:43 +02:00
kenrabold
7d1d5e77d8 cpu/fe310: add RISC-V cpu FE310
New CPU FE310 from SiFive based on RISC-V architecture

build: add makefile for RISC-V builds

Makefile for builds using RISC-V tools
2018-05-29 15:21:45 -07:00
9312a711bc cpu/cortexm: explicitly set -march=armv6s-m for crotexm0(plus)
Works around a regression in gcc 8.1.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85606.
2018-05-11 23:07:25 +02:00
136ba53639 cpu/cortexm: move -mno-thumb-interwork from CFLAGS_CPU to CFLAGS
CFLAGS_CPU is used in ASFLAGS, but assembler doesn't know that
parameter. Moving to CFLAGS uses it only for the C compiler.
2018-03-14 21:27:14 +01:00
Gaëtan Harter
a3bc341878 cortexm.inc.mk: allow configuring vectors.o path
This allows providing 'vectors.o' by another module than 'cpu' by overwriting
VECTORS_O variable.
2018-01-30 11:55:05 +01:00
86665b71bf cpu: adapt to COREIF_NG removal 2017-11-16 14:40:16 +01:00
3ec8126c84 cpu: cortexm: provide periph_pm for all cortexm 2017-11-06 12:01:19 +01:00
Neil Jones
af70c0844c mips: Clean-up makefiles 2017-06-28 12:56:54 +01:00
Neil Jones
6c54360bae makefiles: Don't link libnosys for mips and put back -fdata-sections 2017-06-28 12:55:54 +01:00
Joakim Nohlgård
91d930c574 cpu/mips32r2_common: ifdef __attribute__((optimize))
Causes compilation error on Clang
2017-06-02 10:24:44 +01:00
Joakim Nohlgård
b59a9cb667 cpu/mips32r2_common: Use GCC for assembler files if TOOLCHAIN=llvm
Some headers in the tool chain cause compilation errors with Clang in
assembly mode.
2017-06-02 10:24:43 +01:00
Joakim Nohlgård
14ec5237a1 cpu/mips: Integrate better with RIOT newlib layer
- Copied the relevant parts of mipshal.mk from the toolchain
 - Cleaned up CFLAGS and more in Makefile.include
 - Added empty syscalls implementation which can be used to interface
   with the UHI system
 - Added a note on why -std=gnu99 is necessary for this CPU presently
2017-06-02 10:24:43 +01:00
Joakim Nohlgård
339a4da9dc Makefiles: move to new directory /makefiles 2017-04-04 15:11:54 +02:00