1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

265 Commits

Author SHA1 Message Date
Gaëtan Harter
411e98e55e
Merge pull request #11110 from jcarrano/flash_canned_recipe_conversion
riotboot,mcuboot: Use canned recipe for flashing.
2019-03-06 16:50:43 +01:00
Juan Carrano
420b2c9220 makefiles/mcuboot: use canned recipe for flashing.
The canned recipe is preferred to using $(FLASHER) $(FFLAGS) as it
allows to specify additional action actions (like what preflash is
currently doing.)
2019-03-05 14:45:48 +01:00
Juan Carrano
748bc6deee makefiles/riotboot: use canned recipe for flashing.
A canned recipe had previously been defined to perform the flashing
procedure. The canned recipe is preferred to calling $(FLASHER) $(FFLAGS)
as there might be additional steps involved in flashing (this is handled by
preflash currently but with the canned recipe we will be able to fix it.)
2019-03-05 14:39:57 +01:00
Benjamin Valentin
6e7414e220 makefiles/tools: Automatically detect gdb-multiarch
Modern versions of GDB support multiple targets with the same gdb binary.
At least Ubuntu and Debian have dropped the gdb-arm-none-eabi package in favour
of gdb-multiarch.
Here, no $(PREFIX)-gdb binary is availiable, instead gdb-multiarch should be used.

This patch tries to automatically detect the presense of gdb-multiarch and uses it
instead of arm-none-eabi-gdb.
2019-03-05 14:31:22 +01:00
Gaëtan Harter
7a88bb4c1f
riotboot: prepare for when FLASHFILE is used
This currently does nothing but setting FLASHFILE when flashing.
This will allow passing the variable when flasher will use the FLASHFILE
variable.
2019-03-05 12:04:15 +01:00
Gaëtan Harter
240e4a3fe2
makefiles/riotboot.mk: slots only need to depend on BASELIBS
Using 'link' was working too but will introduce a circular dependency
when FLASHFILE is one of the slot files.

This trims down to the minimal required dependency to work. It is now
the same as `ELFFILE` dependencies.
2019-03-05 11:22:11 +01:00
5355f6a7be
Merge pull request #11062 from jcarrano/picocom-no-echo
serial.inc.mk: disable local echo in picocom.
2019-03-05 09:58:59 +01:00
Gaëtan Harter
7467d1be75
makefiles/murdock.inc.mk: do not overwrite FLASHFILE if set
If FLASHFILE is set keep the original value.

It changes the variable from an immediate to a deferred variable but if
murdocks keeps working there is no issue.
2019-03-04 15:52:35 +01:00
Kevin "Bear Puncher" Weiss
e3e2b6df15
Merge pull request #11084 from cladmi/pr/make/introduce_flashfile
Makefile.include: introduce FLASHFILE
2019-03-01 14:44:31 +01:00
Sebastian Meiling
d29d336894
Merge pull request #11039 from maribu/avrdude
makefiles/tools: Improved avrdude integration
2019-02-28 22:15:30 +02:00
Marian Buschsieweke
4abc41a227
makefiles/tools: Automatically set avrdude target
The CPU variable in the boards Makefile.include file already contains the target
CPU, so there is no reason to provide it in each board again as avrdude flag.

This commit automatically sets the avrdude target from the CPU variable and
removes the unneeded flags.
2019-02-28 20:55:04 +01:00
Marian Buschsieweke
93cd8a1b04
makefiles/tools: fix avrdude with ICSP programmers
Currently the flag "-P ${PORT}" is added to avrdude regardless of the programmer
used. But this flag should only be set for programmers that operate over a
serial port - e.g. like the various Arduino bootloaders. This commit changes
the behaviour so that the "-P flag" is only set for only of the default
programmers of the various AVR boards supported by RIOT. This allows to use
ICSP programmers (e.g. like the usbtiny) like this:

    make BOARD=arduino-uno PROGRAMMER=usbtiny
2019-02-28 20:55:00 +01:00
Gaëtan Harter
1d268c4cdb
Makefile.include: introduce FLASHFILE
Introduce FLASHFILE variable to start migrating boards to use it.

This is the file that will be used for flashing.
Boards do not currently use it but will migrated in upcoming PRs.
2019-02-28 18:11:49 +01:00
Juan Carrano
77f3c2d136 serial.inc.mk: disable local echo in picocom.
Due to a recent fix in shell.c, remote echo is now working as originally
intended. Local echo must be disabled or otherwise it will add up to the
remote one, causing a character-by-character double echoing.
2019-02-25 18:08:20 +01:00
Gaëtan Harter
20ce4db753
makefiles/tools/serial.inc.mk: unexport TERM* variables
TERMPROG and TERMFLAGS variables do not need to be exported as they are
used directly by a make receipe.

Exporting them prevents overwriting 'RIOT_TERMINAL' in the test.
2019-02-25 17:15:41 +01:00
Gaëtan Harter
d0cb6d26e1
makefiles/vars.inc.mk: unexport TERM* variables
TERMPROG and TERMFLAGS variables do not need to be exported as they are
used directly by a make receipe.

Exporting them prevents overwriting 'RIOT_TERMINAL' in the test.
2019-02-25 17:15:41 +01:00
5ad3fd4e5b
tools/serial: add support for socat as riot terminal 2019-02-20 12:05:19 +01:00
ea8672ca9c
makefiles/serial: fix indent 2019-02-20 08:40:54 +01:00
Peter Kietzmann
63fd8bc89b
Merge pull request #7577 from miri64/gnrc_netif2/feat/ieee802154-dup-bcast
gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally)
2019-02-11 09:42:06 +01:00
ZetaR60
1f9e1857f7
Merge pull request #9130 from kYc0o/cpu/atmega/unify_stacks
atmega: refactor cpu/board code and build/flash variables
2019-02-08 18:07:22 -05:00
Francisco Acosta
6bbf372d7d makefiles: factor out avrdude configuration
Allows to use avrdude as a flashing tool in any context
(e.g. not dependent on arduino or atmega) though it only
works (AFAIK) on atmega, but I thought it's better to
have it here as we have other flashing tools.
2019-02-05 17:12:02 +01:00
Francisco Acosta
c897773daf makefiles: add atmega arch generic makefile 2019-02-05 17:12:01 +01:00
Martine Lenders
985d98073f gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally) 2019-02-04 16:19:48 +01:00
Gaëtan Harter
566c990eba
makefiles/toolchain: fix command -v multiple commands
`command -v first second third` only works in `bash` and not in `sh`.
So replace with multiple calls to `command`.

This fixes using `objcopy` when the toolchain `objcopy` is not available.
2019-01-28 13:48:20 +01:00
Gaëtan Harter
be75f734d1
makefiles/vars.inc.mk: do not export LINKFLAGS
It is only used by `Makefile.include` and should not be used by sub-make
instances.

This is required to prevent evaluating `LINKFLAGS` when not needed and a
required step to not evaluate it on the host with for example `avr-ld`
when building in docker.

I checked usage with:

    git grep -e '(LINKFLAGS)' -e '{LINKFLAGS}'

Packages may be using it but `LINKFLAGS` is a RIOT way of naming
things and even if `generate-xcompile-toolchain` uses `LINK` it does not
use `LINKFLAGS`.
2019-01-23 18:31:24 +01:00
Dylan Laduranty
6d3fda7260 cpu/cortexm: add cortex-m23 support 2019-01-21 17:04:20 +01:00
Gaëtan Harter
61452669b9
Merge pull request #10038 from smlng/pr/make/buildoutdir
make: introduce common BUILD_DIR
2019-01-16 14:18:48 +01:00
Emmanuel Baccelli
209d90bc00
Merge pull request #10215 from kYc0o/pr/riotboot_multislot
riotboot: add multislot support
2019-01-15 19:04:28 +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
cladmi
ed1798634b makefiles/docker.inc.mk: handle 'build' directory
The 'build' directory should be created before starting docker.
If not it will be created as root.

Also add mapping for the directory in docker.

Currently create the directory in the target until there is a directory
creation target.
2019-01-07 21:16:36 +01:00
smlng
5b3d26453a make: introduce BUILDOUT_DIR
This introduces a new environment variable for a common directory
that holds all output of the build process, such as application or
package binaries. This would also allow to easily redirect output
to any other location, e.g. for out-of-source builds.
2019-01-07 21:16:36 +01:00
Martine Lenders
fcc57ddd04 gnrc_sixloenc: introduce pseudo-module 2019-01-04 13:29:47 +01:00
Vincent Dupont
06f0c14460 cortexm_common: enable FPU on cortex-m4f 2019-01-03 15:24:20 +01:00
Francisco Acosta
8a0a0be426 riotboot: allow to overwrite slot 1
By erasing slot 1 header the slot gets invalidated.
This is very useful while debugging, since we can
force the bootloader to ignore anything on that
slot.
2019-01-02 17:56:11 +01:00
Francisco Acosta
ec24ea49b1 riotboot: add support for multislot
riotboot looks for valid, available slots and compares its
version. The slot with the highest version is booted, otherwise
if no valid slot is found it loops on `while(1);`
2019-01-02 17:56:11 +01:00
f5170bb82c dist/tools/pyocd: provide support for PyOCD programmer 2018-12-21 14:56:26 +01:00
Schorcht
74e1ab220c drivers: add driver for CCS811 gas sensor 2018-12-20 12:42:44 +01:00
Francisco Acosta
281d8084bf riotboot: add riot-based minimal bootloader
riotboot is introduced here and makes use of riotboot_hdr,
which indentifies the images encapsulated as slots.
The slot size and offset is configurable, which makes
slots extendable if needed, e.g. 2 or more slots can be
transparently added.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2018-12-18 19:31:35 +01:00
Gaëtan Harter
5a2609c573
Merge pull request #10439 from jcarrano/ensure-value
makefile/utils: Add a function for checking that a string is not empty.
2018-12-07 19:17:37 +01:00
Juan Carrano
f466171053 makefiles/utils: add tests for checks.mk.
make -f test-checks.mk test-ensure_value should succeed, while
make -f test-checks.mk test-ensure_value-negative should fail.
2018-12-07 18:19:38 +01:00
Juan Carrano
547d9f0802 makefiles/utils: Add a function for checking that a string is not empty.
A call to `$(ensure_value x,y)` will fail with message y if x is empty, and
otherwise return x. This can be useto write more compact makefiles, while still
producing friendly error messages.
2018-12-07 18:19:34 +01:00
Juan I Carrano
d505b01d71
Merge pull request #10568 from smlng/pr/make/docker
makefiles/docker: fix mounting localtime on OSX
2018-12-07 15:52:17 +01:00
Sebastian Meiling
cae865e71e make/docker: adapt mount of localtime
Mounting `/etc/localtime` directly does not work on macOS (anymore).
However, by resolving the symlink to its real path docker can handle
the mount.
2018-12-07 14:00:19 +01:00
Juan I Carrano
25e165ef5b
Merge pull request #10550 from smlng/pr/docker/riot_submodule
make: fix BUILD_IN_DOCKER when RIOT is submodule
2018-12-06 11:52:40 +01:00
49aa583ab1
Merge pull request #10539 from cladmi/pr/make/openocd/flashfile_from_cli
openocd: get flash and debug files from cli
2018-12-05 20:32:54 +01:00
smlng
ae5608ab7f make: use abspath for worktree mount in docker 2018-12-05 20:28:12 +01:00
Gaëtan Harter
fb65d37b02
Merge pull request #10492 from jcarrano/mcuboot-builddeps-fix
mcuboot.mk: Add mcuboot targets to BUILDDEPS.
2018-12-05 17:35:39 +01:00
Juan Carrano
46da35ecff mcuboot.mk: make mcuboot targets depend on clean.
When doing `make -j clean all' the directories can be cleaned after
files are made. To ensure files are created after clean, those targets
are made conditionally dependent on the clean target.

This copies the handling done in Makefile.include.
2018-12-05 16:49:59 +01:00
Gaëtan Harter
a0b97ad737
openocd: get flash and debug files from cli
Get FLASH_FILE and ELFFILE from command line instead of environment variable.

The documentation was claiming ELFFILE was given as a command line argument
already, but is was not.
2018-12-05 16:21:03 +01:00
Juan Carrano
e666c3864c eclipse.inc.mk: Split eclipse support into it's own file.
To keep Makefile.include clean and to be consistent with other tools,
the Eclipse IDE support is put in a separate file.
2018-12-05 15:22:42 +01:00