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

294 Commits

Author SHA1 Message Date
57d5a1db1c
boards: provide stdio_rtt as default module where required
For the moment, hamilton, ruuvitag and thingy52 use stdio_rtt by default.
2020-01-14 07:48:08 +01:00
9de6047097
dist/tools: add support for flatc compiler 2020-01-13 09:41:22 +01:00
Gaëtan Harter
41a891f284
tools: use 'BOARDSDIR' for the boards directory
Replace uses of 'RIOTBOARD' by 'BOARDSDIR' for tools.
2019-12-16 15:35:04 +01:00
Marian Buschsieweke
f44dd00276
tools/avrdude: Fix make reset with bootloader
The generic approach of calling avrdude to perform a reset with `make reset`
does also work on board with a bootloader, but only if no other process is
also accessing the serial (e.g. via `make term`). `make test` first accesses
the serial and then performs `make reset` to not miss any output on the serial.
This however blocks when `make reset` also wants to access that serial.

As workaround, `make reset` is no only provided if the ATmega device is not
programmed via bootloader. Normally, those boards reset anyway upon `make term`,
which allows `make test` to work normally again.
2019-11-25 14:39:25 +01:00
Martine Lenders
95c6a785de
Merge pull request #12695 from leandrolanzieri/pr/dist/tools/add_kconfiglib
dist/tools: Add Kconfiglib
2019-11-25 11:51:02 +01:00
Leandro Lanzieri
b642f2ea23 dist/tools: Add kconfiglib
Kconfiglib is a Kconfig implementation in Python 2/3.
See https://github.com/ulfalizer/Kconfiglib
2019-11-19 17:46:38 +01:00
a5785cdf9c
tools/serial.inc.mk: Support miniterm.py
miniterm.py is a simple terminal program that is included with pyserial.
This means that it is available wherever pyterm can work. It allows raw
access, does line translation and passes through special characters.

Co-authored-by: Juan Carrano <j.carrano@fu-berlin.de>
2019-11-19 15:07:32 +01:00
fjmolinas
05782d1495 makefiles/tools/jlink.inc.mk: DEBUG_ADAPTER_ID as JLINK_SERIAL
- export JLINK_SERIAL for required targets
2019-11-18 13:04:42 +01:00
Marian Buschsieweke
135a37a4d1
makefiles/tools: Allow make reset via avrdude
In order to flash AVR devices, avrdude needs the ability to reset them:
Those using a bootloader will only enter it after a reset, and those programmed
via ISP also need a reset to enter ISP mode.

Sadly, avrdude has no option to reset the board. But running it without commands
will read and print the boards identification and fuse settings. For this, as
reset is needed. This commit uses this side-effect reset to implement make reset
for all AVR based boards
2019-11-17 14:46:48 +01:00
1a16ee8215
makefiles/avrdude: allow setting debug server interface 2019-11-05 10:40:32 +01:00
Francisco Molina
1ae0873769 boards: change PORT used for flash/debug/reset to PROG_DEV 2019-10-24 12:58:12 +02:00
Francisco Molina
7794cce5ee makefiles/tools/serial.inc.mk: set default PROG_DEV to PORT 2019-10-24 12:57:42 +02:00
Francisco Molina
bf25e12602 makefiles/tools/avrdude.inc.mk: migrate to use PROG_DEV
- Move serial.inc.mk in mega-xplained/Makefile.include after
  PROG_DEV so PROG_DEV can still default to PORT
- Add deprecation warning for arduino-leonardo and mega-xplained
2019-10-24 12:57:07 +02:00
Francisco Molina
c010f59b8c Makefile.include: remove repeated OS declaration
- OS := $(shell uname) is already declared in `Makefile.include`
  re-declaring it means it will be re-evalauted multiple times
  uselessly.
2019-10-18 08:46:51 +02:00
8a877b58df
Merge pull request #12479 from fjmolinas/pr_ensure_port_is_set
makefiles/tools/serial: ensure PORT is set and fail early.
2019-10-17 10:56:32 +02:00
Juan Carrano
fe9704dbd6 makefiles/tools/serial: ensure PORT is set and fail early.
By ensuring the PORT auto-detection worked, we can give meaningful
error messages and fail earlier.

This uses ensure_value from makefiles/utils/checks.mk. An include was
added to Makefile.include to make this fuction available to all other
makefiles.
2019-10-17 08:54:16 +02:00
benpicco
10824e1cd0
Merge pull request #12251 from maz3max/bmp-tool
Add helper script for Black Magic Probe
2019-10-15 13:39:08 +02:00
Maximilian Deubel
30f12c9058 Add helper script for Black Magic Probe
This script can detect [Black Magic Probes](https://github.com/blacksphere/blackmagic/wiki) and act as a flashloader (and more).
It is compatible with Linux and macOS.

All important options that can be set via the monitor command are available as arguments.

Makefiles for using `make flash`, `make erase`, `make debug` and `make term` with the script are included.
2019-10-15 12:58:24 +02:00
28c3717911
make/targets: fix typo in message 2019-10-03 15:23:19 +02:00
4b53f6b92b
makefiles/targets: add target for setsid 2019-10-03 12:43:49 +02:00
a45d99f741 make/tools/edbg: verify before flash
This commit overrides the default flash recipe with an edbg specific
one.
The new recipe first verifies the flashfile agains the device flash. If
it is already on there, it won't get overridden.
edbg takes care of resetting the device in any case.
2019-09-25 10:14:20 +02:00
1cba611dd9 make/tools/edbg: use long option names 2019-09-25 10:09:19 +02:00
Gaëtan Harter
be4569e271
pic32prog.inc.mk: add udev rule for pic32 programmer
Copy the udev rule from dist/tools/pic32prog/doc.md
2019-09-24 17:43:12 +02:00
Gaëtan Harter
afdddfda14
pic32prog.inc.mk: add support for pic32prog flasher
Define a RIOT_PIC32PROG to allow setting 'PIC32PROG' globally from environment.

https://github.com/sergev/pic32prog

For PICkit3 it requires having it with scripting mode firware.

Source
------

https://github.com/RIOT-OS/RIOT/pull/6092#issuecomment-261987955
2019-09-24 17:43:12 +02:00
Gaëtan Harter
d852ca2b21
pic32prog: add pic32prog programming tool
pic32prog is a program for flashing pic32 boards from command line on Linux.

It works with:
* Microchip PICkit2
* Microchip PICkit3 with script firmware.
* Other ones: https://github.com/sergev/pic32prog/wiki
2019-09-24 17:43:12 +02:00
Francisco
2d890db6af
Merge pull request #10440 from jcarrano/no-export-ports
makefiles: remove exports so that PORT is not evaluated if it's not needed.
2019-09-12 13:50:24 +02:00
Francisco Molina
e325985321
makefiles/tools: pass DEBUG_ADAPTER_ID to pyocd 2019-09-12 08:13:28 +02:00
benpicco
b14e08cce1
Merge pull request #11877 from OTAkeys/feat/gpio-flashing
makefiles: add support for sysfs gpio debug adapter
2019-09-11 18:00:31 +02:00
Gaëtan Harter
62fe786cd8
makefiles/serial.inc.mk: add PYTERMFLAGS variable
Add a variable for `pyterm` specific flags that are not handled by other
terminals.
This will prevent issues with boards that have options only supported by
`pyterm` and setting `pyterm` options from the environment.
2019-08-27 12:07:00 +02:00
Jona Raemdonck
5fd90d08b8 makefiles/openocd: add sysfs gpio debug adapter
Add support for sysfs gpio adapter.
2019-08-05 14:59:34 +02:00
Gaëtan Harter
78b1ff35a1
uniflash.inc.mk: add variables for configuration files
Refactoring to use common variables for the configuration files.

This will allow overwriting the files more easily from outside.
2019-07-24 15:17:42 +02:00
Gaëtan Harter
a12f1a4026
makefiles/dfu.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-17 18:09:43 +02:00
Kevin "Bear Puncher" Weiss
2c0b2f3982
Merge pull request #11696 from cladmi/pr/pyocd/use_flashfile
makefiles/pyocd.inc.mk use FLASHFILE
2019-06-17 09:48:48 +02:00
Gaëtan Harter
38aa611a1e
makefiles/bossa.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-14 15:37:50 +02:00
Gaëtan Harter
f874f241fa
makefiles/pyocd.inc.mk use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-06-14 12:17:22 +02:00
Gaëtan Harter
a7e17927e4
makefiles/pyocd.inc.mk: remove OFLAGS
OFLAGS is set by the `.bin` and `.hex` rules no need to define it anymore.
2019-06-14 12:12:32 +02:00
Sebastian Meiling
34c2eac840 make: allow override of RESET for uniflash 2019-06-06 16:27:22 +02:00
Sebastian Meiling
9dd48d9f0e make: allow override of RESET for jlink 2019-06-06 16:27:22 +02:00
Gaëtan Harter
c103b3f6ba serial: Do not export PORT.
This variable is only used for the term recipe (and maybe for flashing). They
should not be evaluated if they are not needed and the user should not see a
warning that the port is not set if he does not use port (for example in make
all.)
2019-06-03 16:31:21 +02:00
Gaëtan Harter
029cd161f1
makefiles/tools/uniflash.inc.mk: remove empty RESET_FLAGS
Remove the line with only 'RESET_FLAGS'. This was a migration mistake
when removing 'export'.
2019-06-03 12:29:41 +02:00
79a2db89e0
makefiles/tools: remove useless export when setting DEBUG_ADAPTER_ID 2019-06-03 10:32:08 +02:00
Gaëtan Harter
7306dbd382
boards/tools: remove exporting DEBUG*
DEBUGGER/DEBUGGER_FLAGS/DEBUGSERVER/DEBUGSERVER_FLAGS are evaluated by the
main Makefile.include or by file included by it.
Their value does not need to be exported.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `55 insertions(+), 55 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:58:35 +02:00
Gaëtan Harter
b88d1887c8
boards/tools: remove exporting RESET/RESET_FLAGS
RESET and RESET_FLAGS are evaluated by the main Makefile.include or by file
included by it. Their value does not need to be exported.

This will also prevent evaluating 'PORT' for RESET_FLAGS when not needed.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `24 insertions(+), 24 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
ac113ca2f8
boards/tools: remove exporting FLASHER/FFLAGS
FLASHER and FFLAGS are evaluated by the main Makefile.include or by file
included by it. Their value does not need to be exported.

This will also prevent evaluating 'PORT' for FFLAGS when not needed.

Testing
-------

`git diff --word-diff` only reports `export` being removed.

`git show --stat` reports `84 insertions(+), 84 deletions(-)`
Which is the same amount as lines that where matching
`export[[:blank::]]\+VARIABLE`.
2019-05-28 09:56:00 +02:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Gaëtan Harter
0be610558d
boards/openocd: use FLASHFILE for boards using openocd
Update to use FLASHFILE as file to be flashed on the board.
2019-03-26 19:26:42 +01:00
Gaëtan Harter
72bc21c0de
makefiles/edbg.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-03-26 13:35:04 +01:00
Gaëtan Harter
239d8a959d
makefiles/uniflash.inc.mk: update FFLAGS to use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-03-15 16:24:32 +01:00
Gaëtan Harter
6b904f5f3e
makefiles/uniflash.inc.mk: update xds110reset path
In UniFlash 4.4.0 the directory where 'xds110reset' is changed.
Try to use the newest one available. If none is found in UNIFLASH_PATH,
try to use one from the PATH to be sure to have a value.

./uniflash_4.1/simplelink/gen2/bin/xds110reset
./uniflash_4.3.0/simplelink/gen2/bin/xds110reset
./uniflash_4.4.0/simplelink/imagecreator/bin/xds110reset
./uniflash_4.5.0/simplelink/imagecreator/bin/xds110reset
2019-03-15 16:12:34 +01:00
Gaëtan Harter
f7ec4b7c8a
makefiles/uniflash.inc.mk: add common uniflash flasher
Put the uniflash flasher in common.
2019-03-15 15:53:58 +01:00
Gaëtan Harter
9bf7d5bb1a
tools/avrdude.inc.mk: use FLASHFILE variable
Update to use FLASHFILE as file to be flashed on the board.
2019-03-14 18:16:43 +01:00
Francisco Acosta
0f4e51d543
Merge pull request #11130 from cladmi/pr/make/flashfile/jlink
makefiles/tools/jlink.inc.mk: use FLASHFILE
2019-03-14 12:01:02 +01:00
Emmanuel Baccelli
8969fd32e9
Merge pull request #11080 from kaspar030/add_pyboard
boards: add pyboard v1.1 support
2019-03-13 17:07:40 +01:00
Gaëtan Harter
034e4ff32c
makefiles/jlink.inc.mk: use FLASHFILE
Update to use FLASHFILE as file to be flashed on the board.
2019-03-07 16:18:38 +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
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
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
f74b819efe makefiles/tools/dfu: add initial DFU programming support 2019-02-28 13:57:12 +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
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
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
f5170bb82c dist/tools/pyocd: provide support for PyOCD programmer 2018-12-21 14:56:26 +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
cladmi
5fcc1210d9
jlink: get flash and debug files from cli
Get BINFILE and ELFFILE from command line instead of environment variable.

Rename 'HEXFILE' to 'BINFILE' in the script as the binary file is used.
The documentation was already talking about 'BINFILE' but 'BINFILE'
was never exported by the build system and it was using 'HEXFILE' in the
implementation.
2018-11-27 15:28:49 +01:00
cladmi
8a78355482
edbg.inc.mk: handle IMAGE_OFFSET being defined with a space
Handle that `IMAGE_OFFSET` can be set to something that contain spaces.

With 'IMAGE_OFFSET=$$((0x1000 + 0x1000))' we had in the command line when doing
'flash'

    --offset $((0x1000 --offset + --offset 0x1000))

With the change we correctly have

    --offset $((0x1000 + 0x1000))
2018-09-18 18:28:19 +02:00
e6776ae8d1
edbg.inc.mk: allow flashing with an offset in rom
Allow flashing with an offset in ROM from the rom base address.
It reuses `IMAGE_OFFSET` configuration variable name from `openocd.sh`.

This will allow flashing multiple images with different flash operations.
2018-08-16 16:49:16 +02:00
3af10a604e
edbg.inc.mk: do not erase the whole rom before flashing
This mimics openocd behaviour that only erase needed sectors of the rom.
2018-08-16 16:47:10 +02:00
dylad
5341fc5ae5 makefiles/tools: add Makefile dependency to EDBG 2018-07-10 15:20:14 +02:00
Hauke Petersen
3ccb27d00d tools: add mosquitto.rsmb MQTT-SN broker 2018-07-04 11:36:57 +02:00
de15af4c87 boards/common/stm32-link: add common place for stlink
- introduce common place for boards using stlink: same serial, all use openocd
- apply this to nucleos
2018-06-26 20:45:23 +02:00
f04f954a21 makefiles/tools: use RIOTTOOLS variable 2018-05-15 11:29:33 +02:00
cladmi
3f145413f5 boards/makefiles: Remove '-Otype' from OFLAGS
* Remove '-Oihex' and '-Obinary' from OFLAGS for all boards
  It is now provided by the Makefile.include rule.
2018-04-09 17:32:46 +02:00
28a0ffca37 tools: edbg: use for resetting 2018-02-16 15:32:58 +01:00
Martine Lenders
16e2829258
Merge pull request #7959 from antmicro/feature/renode-integration
makefiles: tools/renode: add support for Renode
2017-11-24 18:43:31 +01:00
Joakim Nohlgård
697f0b00f3 edbg: Use DEBUG_ADAPTER_ID to select which USB programmer to use 2017-11-17 10:03:05 +01:00
Joakim Nohlgård
57de166ea1 makefiles: Refactor openocd tool handling
Attempt to decouple board configuration from debugger interface
configuration by specifying the DEBUG_IFACE variable for the debug
hardware interface to use.
2017-11-17 10:03:05 +01:00
Piotr Zierhoffer
b424274a72 makefiles: tools/renode: add support for Renode 2017-11-08 12:43:09 +01:00
Martine Lenders
e3e1abb368
make: prefix TERMINAL macro
Fixes #7767
2017-10-23 15:19:32 +02:00
0718898cc0 Merge pull request #7758 from haukepetersen/opt_make_termprog
make: tools: serial: allow for using picocom as term prog
2017-10-19 10:20:01 +02:00
Hauke Petersen
cd5fa2690e make.serial: allow for using picocom as term prog 2017-10-19 09:57:19 +02:00
Joakim Nohlgård
0ad0a39a40 makefiles: Split GDB settings from toolchain 2017-10-18 14:34:20 +02:00
e5fc70ae57 makefiles: cleanup indentation 2017-09-28 21:29:08 +02:00
808bf10686 makefiles/tools/bossa: replace duplicate info option with erase 2017-06-23 11:55:40 +02:00
Hauke Petersen
c57d67fab8 Merge pull request #7073 from kaspar030/add_edbg_support
tools: add edbg support
2017-05-24 17:35:42 +02:00
d7d796b80d makefiles: add edbg tool support 2017-05-24 14:52:44 +02:00
6a9175944c dist: tools: add edbg 2017-05-24 14:52:44 +02:00
Hauke Petersen
2739354bab make/serial.inc.mk: set TERMFLAGS only if not set 2017-05-23 14:25:11 +02:00
8d3b7a28fc makefiles: openocd.inc.mk: make FLASHER overridable 2017-05-23 10:17:18 +02:00
Hauke Petersen
0d9ba806bc make/tools: added shared script+mk for using BOSSA 2017-05-22 11:42:01 +02:00
Joakim Nohlgård
339a4da9dc Makefiles: move to new directory /makefiles 2017-04-04 15:11:54 +02:00