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

1186 Commits

Author SHA1 Message Date
Sebastian Meiling
2aaf811d84
Merge pull request #9778 from jia200x/pr/vera++
style-check/vera++: add style validator and scripts
2020-02-18 10:04:38 +01:00
Jose Alamos
d0b13281d8 ci: invoke vera++ from CI 2020-02-14 14:17:17 +01:00
Jose Alamos
c455efba36 vera++: add README file 2020-02-14 14:17:17 +01:00
Jose Alamos
6057d1fba9 vera++: add check.sh script 2020-02-14 14:17:17 +01:00
Jose Alamos
6352c3cf48 style-check/vera++: add RIOT vera++ files 2020-02-14 14:17:16 +01:00
chrysn
1dbf07f926 openocd: Add instructions for overriding OPENOCD 2020-02-14 09:42:20 +01:00
chrysn
ac8ed1eb13 openocd: Allow using OpenOCD-shipped configs
OpenOCD already ships config files for the EFM32 and EFR32 family, no
need to duplicate them in RIOT; this removes the "file exists" check for
files that are clearly OpenOCD-shipped board configurations, as the
script can't (and shouldn't) know OpenOCD's include paths.
2020-02-14 09:24:25 +01:00
077bf8aa73
tools/toolchain_version: remove extra underlying - 2020-02-13 10:54:42 +01:00
acf3ea0636
tools/codespell: enable colored output 2020-02-12 11:22:22 +01:00
19fb4bbcb7
tools/codespell: use file for setting ignored words 2020-02-12 11:22:22 +01:00
ab9c67e621
Merge pull request #13257 from fjmolinas/pr_creating_boards_md
doc/doxygen: add creating boards doc
2020-02-12 08:40:53 +01:00
f1799b9910 dist/tools/codespell: add interactive mode 2020-02-11 13:23:47 +01:00
Francisco Molina
e86a5d43ed
dist/tools/buildsystem_sanity_check: exclude .md files
Exclude .md files from check_cpu_cpu_model_defined_in_makefile_features
2020-02-05 14:25:40 +01:00
5d5cee0fa5
ci/buildsystem_sanity: ensure not export USEMODULE_INCLUDES 2020-02-05 10:27:58 +01:00
ad234d1f38
ci/buildsystem_sanity_check: ensure USEMODULE is not exported 2020-02-05 10:27:58 +01:00
Benjamin Valentin
baea542532 tools/edbg: update to latest upstream version
This version has changed the target names, so add a edbg-devices.inc.mk
to automatically select the right target.
2020-01-31 09:35:27 +01:00
98995f685b
Merge pull request #13179 from fjmolinas/pr_openocd_stm32f7_probe
boards/nucleo-f767zi: add correct flash bank openocd config
2020-01-28 10:48:23 +01:00
Francisco Molina
53f60db66f dist/tools/openocd/openocd.sh: add FLASH_BANK
Allow specifying index of `flash bank` to read configuration from
in cases where the configuration provided in openocd is incorrect.

This is the case for the majority of stm32 boards where it relies
on `flash probe` to get the correct value.
2020-01-27 22:32:00 +01:00
8509e1e213
Merge pull request #13119 from nmeum/pr/ssp_random_canary
sys/spp: randomize canary value on each build
2020-01-20 20:56:16 +01:00
Sören Tempel
1e52ac21e4 tools: add tool for generating random hexadecimal values
This tool generates a random hexadecimal value of a given maximum size.
This is useful for generating random canary values during compile-time
for the ssp module which currently uses a constant value.
2020-01-20 14:51:26 +01:00
benpicco
8a99824e66
Merge pull request #11095 from benpicco/pyterm_sleep
pyterm: add /sleep function
2020-01-15 18:25:29 +01:00
Leandro Lanzieri
50f1b1423a
Merge pull request #12999 from fjmolinas/pr_native_makefile_include_explicit_path
boards: use explicit paths for file inclusion
2020-01-13 16:00:48 +01:00
Francisco Molina
6a0eaec82f dist/tools/buildsystem_sanity_check: check \ not in boards/ 2020-01-13 12:43:36 +01:00
9de6047097
dist/tools: add support for flatc compiler 2020-01-13 09:41:22 +01:00
8416974b3c
Merge pull request #13074 from fjmolinas/pr_riotboot_gen_hdr_type
dist/tools/riotboot_gen_hdr/genhdr: use unsigned long
2020-01-10 13:38:37 +01:00
Francisco Molina
d2c99989dc dist/tools/riotboot_gen_hdr/genhdr: use unsigned long 2020-01-10 12:56:07 +01:00
c6a2b39a0b
testrunner: allow setting custom delay before reset
On some boards, such as hifive1b, resetting right after flashing could crash the running firmware
2020-01-10 08:34:17 +01:00
Gaëtan Harter
f08116f3ce dist/tools/*: adapt to new state file targets
Prepare for handling pkg state with files. So it requires having the
path defined before declaring targets. In addition, it cleans up the
old git-download target.
2020-01-08 20:55:19 +01:00
ff285cb3e0
Merge pull request #13042 from fjmolinas/pr_compile_and_test_args
dist/tools/compile_and_test_for_board: pass parser as main arg
2020-01-08 09:01:14 +01:00
Francisco Molina
413f401b97 dist/tools/compile_and_test_for_board: pass parser as main arg 2020-01-08 08:32:42 +01:00
Juan Carrano
02b72ab385 print_toolchain_versions: print system and make's default shell.
Some systems use dash as system shell, others use bash. The shell used
by make can also be different, and unrelated to the system shell.
Differences in this variable can cause problems when testing PRs and
reporting bugs.

The default shell is important system information that should be reported.
2020-01-07 09:28:46 +01:00
Francisco
2729580cf1
Merge pull request #13027 from gschorcht/dist/tools/esp8266_version_check
dist/tools/ci:  print toolchain version update for esp8266
2020-01-06 17:31:00 +01:00
Gunar Schorcht
0252af6572 dist/tools/ci: print toolchain version update for esp8266
The new ESP8266 port in PR #11108 requires a different tool chain than the previous implementation. The version check must be updated accordingly.
2020-01-04 17:23:28 +01:00
Francisco
f6f4469542
Merge pull request #11889 from miri64/tapsetup/enh/sudo
tapsetup: require to be executed with sudo
2020-01-04 10:43:06 +01:00
Martine S. Lenders
08b11d424d tapsetup: require to be executed with sudo 2020-01-03 21:00:54 +01:00
970008a74c
ci/build_system_sanity_check: check LINKFLAGS not exported 2020-01-03 16:07:15 +01:00
ac33697af7
tools/compile_test_board: allow use of wildcards for applications 2019-12-19 15:58:47 +01:00
70e6e0aedf
Merge pull request #12862 from fjmolinas/pr_dont_reset_sync
dist/pythonlibs/testrunner: reset before term
2019-12-19 14:42:46 +01:00
Francisco Molina
a77594a348 dist/pythonlibs/testrunner: reset before term
For some boards `make reset` is only possible if a serial connection
is not already open or its execution might disrupt it. This
causes some tests to fail since before running a test the board
is reset.

`make reset` is currently used as a synchronization mechanism between
the application and the test script. With `test_utils_interactive_sync`
this is no longer needed so call `make reset` before `cleanterm` instead
of after when `test_utils_interactive_sync` is used.

Allow setting TESTRUNNER_RESET_AFTER_TERM=1 to keep the previous
behaviour for `examples/%/tests`.
2019-12-19 09:32:37 +01:00
Dylan Laduranty
bd7f105428
Merge pull request #12978 from smlng/pr_freebsd_osprint
tools: correctly detect and print FreeBSD OS
2019-12-18 14:56:57 +01:00
Sebastian Meiling
c185307025 tools: correctly detect and print FreeBSD OS
Currently the `print_toolchain_versions` script only supports Linux
and Apple macOS when printing OS name and version. This adds support
for FreeBSD.
2019-12-18 10:25:29 +01:00
Sebastian Meiling
5eee821f6e makefiles: move exports to vars.inc.mk 2019-12-18 10:07:50 +01:00
211cec8b3e
tools/buildsystem_check: exclude tests/external_board_native path
This test application must act as a regular application to showcase how to provide a board support from an external directory
2019-12-16 15:35:06 +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
55ef046728
dist/testrunner: make interactive test retries/delay configurable 2019-12-12 09:44:16 +01:00
Sebastian Meiling
80d86b42ee tools/kconfig: replace GNU cp -t with UNIX cp
UNIX `cp` command does not have the `-t` option like its GNU variant.
Hence, it usage breaks building RIOT e.g. on FreeBSD.
2019-12-05 09:12:33 +01:00
benpicco
61353e04eb
Merge pull request #12860 from aabadie/pr/tools/ethos_fix_warning
tools/ethos: fix compilation warning in strncpy
2019-12-03 15:08:36 +01:00
Francisco
372ae95d28
Merge pull request #12628 from aabadie/pr/make/develhelp_cleanup
make/develhelp: make usage consistent + add ci check
2019-11-28 09:26:52 +01:00
Gaëtan Harter
eb9cb198a0 testrunner: auto sync with test_utils_interactive_sync if present
Automatically call the test_utils_interactive_sync synchronization if it
is used.
2019-11-27 15:07:42 +01:00
abc99024df
tools/ethos: fix compilation warning in strncpy 2019-11-26 16:26:35 +01:00
Martine S. Lenders
ccc10432be
dist/tools/ci/print_toolchain_versions.sh: add ccache 2019-11-26 09:28:28 +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
31fe89e4a2 dist/tools/uhcpd: fix typos 2019-11-23 22:39:37 +01:00
5c92411b3e dist/tools/pic32prog: fix typos 2019-11-23 22:39:37 +01:00
801c5e3dd5 dist/tools/packer: fix typos 2019-11-23 22:39:37 +01:00
f012f88c2b dist/tools/lazysponge: fix typos 2019-11-23 22:39:37 +01:00
f3538a2248 dist/tools/buildsystem_sanity_check: fix typos 2019-11-23 22:39:37 +01:00
09e8e1f612 dist/tools/backport_pr: fix typos 2019-11-23 22:39:37 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
8a76acf060
Merge pull request #12706 from fjmolinas/pr_fix_flake8
RIOT: fix PEP8 errors
2019-11-23 06:47:34 +01:00
Francisco Molina
2e8968fa17 dist/tools/pyterm/pyterm: fix PEP8 F841, unused variable 2019-11-22 11:47:49 +01:00
Francisco Molina
d2e90b2370 dist/tools/ethos/ethos.c: remove unusued var 'escaped' 2019-11-21 11:58:07 +01:00
Francisco Molina
2202b71f99 flake8: fix PEP8 overidentation E127 2019-11-21 10:11:56 +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
588766ab27
Merge pull request #12733 from fjmolinas/pr_jlink_serial
makefiles/tools/jlink.inc.mk: DEBUG_ADAPTER_ID as JLINK_SERIAL
2019-11-18 13:47:26 +01:00
Francisco Molina
f9ebc8658f dist/tools/jlink: cleanup doc 2019-11-18 13:04:42 +01:00
Kevin "Tristate Tom" Weiss
be39169bd4
Merge pull request #11108 from gschorcht/cpu/esp8266/esp-idf/pr
cpu/esp8266: complete reimplementation based on ESP8266 RTOS SDK
2019-11-18 09:34:49 +01:00
Gunar Schorcht
555a7040db cpu/esp8266: reset tool to allow automatic tests 2019-11-14 13:58:48 +01:00
Gunar Schorcht
fe028455e5 cpu/esp8266: esptool.py is provided as tool
The modified version esptool.py from RTOS SDK that is required for flashing an image, is now placed in `dist/tools/esptool.py` and used directly from there. The advantage is that `esptool.py` hasn't to be installed explicitly anymore. Having RIOT is enough. The documentation is adapted accordingly. The oly prerequisite is that python and the pyserial module are installed.
2019-11-14 13:58:48 +01:00
Benjamin Valentin
bff06a4d64 tools: add add_insufficient_memory_board.sh script
This adds a script that automatically compiles all examples & tests for a given
board and updates Makefile.ci if necessary.
2019-11-12 13:52:15 +01:00
86bd4d98a5
tools/build_system_sanity_check: add check for DEVELHELP
This variable should be set directly as it's hanbled after in Makefile.include, and not directly via CFLAGS
2019-11-06 16:32:47 +01:00
d69254b9df
tools/buildsystem_sanity_check: add check for APPLICATION in tests
This check verifies the APPLICATION variable is not set by tests application Makefiles. These applications should include the common test Makefile, where this variable is automatically set
2019-11-05 07:59:57 +01:00
Marian Buschsieweke
809d74bca6
dist/tools: Added script for C11 atomics compat
Added a script to determine the sizes of the default C11 atomic types and
generate an C++ header with preprocessor defines to access the sizes of the
types and an integer type of the same size (and therefore alignment
requirements).
2019-10-24 23:08:35 +02:00
050c077be7 dist/tools/codespell: update ignore list
changed wan -> WAN, codespell help says:
"Words are case sensitive based on how they are written in the dictionary file"
Thus WAN doesn't match but "wan" does.

Also added "dout" (short form of digital out).
2019-10-24 16:47:00 +02:00
62c244608d
tools/pr_check: add REMOVEME in keyword filtered 2019-10-22 08:07:40 +02:00
Francisco Molina
fb0f64630b dist/buildsystem_sanity_check: add check for CPU_FAM/ARCH definition
- Check that CPU_FAM/ARCH is only exported in vars.inc.mk
2019-10-18 08:55:33 +02:00
Francisco
01779508d6
Merge pull request #12394 from aabadie/pr/make/iotlab_support_fix
make/testbed-support: fix error with FLASHFILE not defined
2019-10-17 23:21:12 +02:00
Marian Buschsieweke
b6d23b56ae
dist/tools: Check BOARD_INSUFFICIENT_MEMORY usage
- Enforce that all applications do not manage BOARD_INSUFFICIENT_MEMORY in the
  Makefile
- Match also "BOARD_INSUFFICIENT_MEMORY +=", not only
  "BOARD_INSUFFICIENT_MEMORY :=" or "BOARD_INSUFFICIENT_MEMORY =".
2019-10-17 15:30:21 +02:00
Sebastian Meiling
e00f7a4198
Merge pull request #11767 from MrKevinWeiss/pr/remove/philip
dist/tests/philip: Removed old code and tests
2019-10-17 08:45:40 +02:00
Francisco
02ae803acc
Merge pull request #12395 from aabadie/pr/dist/testbed-support-add-nrf52840-mdk
dist/testbed-support: add nrf52{840,832}mdk in IOTLAB_NODE targets
2019-10-16 15:59:31 +02:00
MrKevinWeiss
7a0e7e378d dist/tests/if_lib: Remove if_lib since we use philip_pal
All if_lib tests are no longer in use so the if_lib is obsolete.
It is replace by robot framework tests, riot_pal, and philip_pal.
Check the RF_Tests repo for more information
2019-10-16 15:57:23 +02:00
bdd3fed598
dist/testbed-support: add nrf52832mdk in IOTLAB_NODE targets 2019-10-16 11:57:21 +02:00
ffc4c84faa
dist/testbed-support: boards: remove useless IOTLAB_FLASHFILE 2019-10-16 11:44:59 +02:00
benpicco
c9b76a9585
Merge pull request #12406 from maribu/pain_in_the_ass
examples: Moved CI infos to Makefile.ci
2019-10-15 14:40:40 +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
Marian Buschsieweke
2c996057c4
dist/tools: Check BOARD_INSUFFICIENT_MEMORY usage
Enforce BOARD_INSUFFICIENT_MEMORY is not managed in the Makefile in the examples
2019-10-15 09:55:07 +02:00
3e3768140c
tools/ci: fix typo in build_and_test.sh script 2019-10-10 15:48:18 +02:00
5d408d68c4
ci: add codespell check to track typos 2019-10-10 15:48:18 +02:00
Francisco
315e455643
Merge pull request #12413 from cladmi/pr/compile_and_test_for_board/flash_targets
tools/compile_and_test_for_board: allow setting the flash targets
2019-10-10 12:46:41 +02:00
Gaëtan Harter
7f2f0b6616
tools/compile_and_test_for_board: allow setting the flash targets
This allow configuring the flash targets in the same way as the
compilation and test targets.

This is part of trying to flash with docker using a different flash target.
2019-10-10 11:39:00 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
Gaëtan Harter
7ac30e471c
boards/slwstk6000b-*: move CPU_MODEL definition to Makefile.features
This is still currently a hack to hardcode it as the value can be deduced
from the `BOARD_MODULE` daughter board name.

But it requires more cleanup and could come in a separate step.

Part of moving CPU/CPU_MODEL definition to Makefile.features to have it
available before Makefile.include.
2019-10-09 18:51:57 +02:00
b899a9f362 examples/suit_update: add SUIT draft v4 example & test
This commit adds an example application showcasing SUIT draft v4
firmware updates.

It includes a test script suitable for local or CI testing.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 13:51:29 +02:00
b389b881cf
dist/testbed-support: add nrf52840mdk in IOTLAB_NODE targets 2019-10-08 20:10:08 +02:00
Francisco
1c5c027ee7
Merge pull request #12004 from cladmi/pr/make/dependencies/debug_targets
make: add targets to debug dependencies variables
2019-10-08 17:41:34 +02:00
Gaëtan Harter
ddf3874995
boards/slwstk6000b: migrate to use a common/slwstk6000b
Migrate the board to be implemented with a common/slwstk6000b.

It is a pre step for splitting the board for each "BOARD_MODULE".
2019-10-08 15:36:09 +02:00
Gaëtan Harter
7d0b922e98
buildsystem_sanity_check: script to save deps resolution variables
Add a script saving all applications and boards dependency resolution
variables and also aggregated files to compare between both dependencies
handling.

It is slow but should dump everything.
2019-10-07 14:47:34 +02:00
db96f31a54 tools/flake8: exclude suit_manifest_encoder_04 script
This script is copied as is from an external repository:
https://github.com/ARMmbed/suit-manifest-generator/blob/ex-gen-moran-suit-manifest-04/example-generator-moran-suit-manifest-04/make-examples.py
2019-10-04 15:45:22 +02:00
7f6862c2d3 suit: add SUIT draft v4 manifest tools
This commit adds support tools used by the SUIT firmware upgrade module.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-04 15:45:22 +02:00
0935a5ff20
dist/tools: use external setsid tool for OSX 2019-10-03 12:43:41 +02:00
benpicco
29de470281
Merge pull request #12337 from cladmi/pr/make/cpu/makefile_features/static_test
dist/buildsystem_sanity_check: add check for CPU/CPU_MODEL migration
2019-10-01 20:00:32 +02:00
Gaëtan Harter
cbfab679d3
dist/buildsystem_sanity_check: add check for CPU/CPU_MODEL definition
CPU and CPU_MODEL variables must now be defined by
`boards/**/Makefile.features` or 'cpu/CPU/Makefile.features' files
instead of `**/Makefile.include.

Currently blacklist the slwstk6000b that still define
'CPU_MODEL' in a file that is not a 'Makefile.features.
This allows getting this sanity check script in master

This allow using the variables when parsing dependencies.
2019-10-01 16:02:03 +02:00
Gaëtan Harter
7064f7e0ab
dist/buildsystem_sanity_check: add check for included CPU Makefiles
CPU Makefile.include/Makefile.features/Makefile.dep must not be
included by the board directly anymore.
2019-10-01 15:57:42 +02:00
Gaëtan Harter
c75d5120b4
testrunner: use 'cleanterm' for testing
Use a clean terminal without added decoration on the output for testing.
2019-10-01 14:13:02 +02:00
Gaëtan Harter
a514c9bc12
jlink.sh: use PYTERMFLAGS
Use PYTERMFLAGS for configuring the terminal.
2019-10-01 14:13:02 +02:00
6acb523d35
list-ttys: Add punctuation between name and serial 2019-09-30 18:28:32 +02:00
68aae9c848
Merge pull request #12262 from cladmi/pr/cflags/fix_spaces_and_rebuild
makefiles: do not remove defines from CFLAGS
2019-09-28 09:42:56 +02:00
cladmi
e42b4cc75f
dist/tools/cmake: handle strings with \"
CMake quoted strings do not accept having \ or " inside. So use the
"bracket argument" format.
I migrated all variables to use this format.

Migrate to 'printf' to not rely on having \" inside the string everywhere.

This prepares for having macros defined in the CFLAGS again.
2019-09-27 19:28:32 +02:00
Benjamin Valentin
6a08a78d77 dist/tools/pyterm: drop loglevel from putput
The loglevel on pyterm is always INFO.
Drop it to remove clutter from the output.
2019-09-27 15:16:06 +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
2e9f443a5b
tools/buildsystem_check: add deprecated pattern for board ci whitelist 2019-09-16 19:02:54 +02:00
0ae86d7775
Merge pull request #12242 from smlng/tools_shebang
tools: fix shebang in scripts
2019-09-16 17:23:50 +02:00
Sebastian Meiling
9e870460fd tools: fix shebang in packer/setup.sh
Change shebang in script from `/bin/bash` to `/usr/bin/env bash`,
which fixed problems when `bash` is not available in standard location,
e.g., on non-Linux OSes such as FreeBSD.
2019-09-16 11:27:36 +02:00
Sebastian Meiling
364c831bf3 tools: fix shebang in openocd.sh
Change shebang in script from `/bin/bash` to `/usr/bin/env bash`,
which fixed problems when `bash` is not available in standard location,
e.g., on non-Linux OSes such as FreeBSD.
2019-09-16 11:27:33 +02:00
Sebastian Meiling
277fbd8386 tools: fix shebang in has_minimal_version.sh
Change shebang in script from `/bin/bash` to `/usr/bin/env bash`,
which fixed problems when `bash` is not available in standard location,
e.g., on non-Linux OSes such as FreeBSD.
2019-09-16 11:27:15 +02:00
Sebastian Meiling
079b2246bd tools: fix shebang for static-test.sh
Change shebang in static-test.sh from `/bin/bash` to `/usr/bin/env bash`
This fixes problems when `bash` is not available in standard location,
but e.g. in `/usr/local/bin/` as on FreeBSD.
2019-09-16 10:23:11 +02:00
Gaëtan Harter
23d743926c
dist/tools/buildsystem_sanity_check: check no PORT exports
Add sanity check for removed exports.
2019-09-12 14:44:00 +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
f718cc581a
dist/tools/pyocd: add PYOCD_ADAPTER_INIT
- Pass parameters before flash, debug, reset
2019-09-12 08:13:28 +02:00
abd1cd51b7
Merge pull request #12120 from cladmi/pr/pyterm/configurable_repeat_command_on_empty_line
pyterm: configuring repeating command on empty line
2019-09-10 09:41:05 +02:00
9ea3b2e04f
dist/tools/pyterm: fix handling of reset ANSI escape code 2019-09-09 20:27:16 +02:00
9065f8358c
tools/openocd: correctly check reset_config variable value
This avoids the following warning message when running OpenOCD: 'openocd.sh: line 124: [: : integer expression expected'
2019-09-03 12:44:09 +02:00
Francisco Molina
900875c603 dist/tools/openocd: add OPENOCD_EXTRA_INIT_RESET
- Add a variable to add extra openocd commands before resetting
  a board. These will not be called when `debug`, in contrast
  to OPENOCD_CONFIG, OPENOCD_EXTRA_INIT and OPENOCD_ADAPTER_INIT.
- Add connect_assert_srst to reset config if
  OPENOCD_RESET_USE_CONNECT_ASSERT_SRST=1
2019-09-02 14:53:51 +02:00
Gaëtan Harter
0fc38c58e8
pyterm: configuring repeating command on empty line
Allow configuring that it sends an empty newline when it receives a newline.
2019-08-29 15:15:57 +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
Sebastian Meiling
8e08748c60
Merge pull request #7654 from cladmi/pr/arduino_sketches.cpp
arduino/sketches: build sketches as a module
2019-08-21 15:22:45 +02:00
Gaëtan Harter
be30f072e2
sys/arduino/sketches: build sketches as a module
Generate a module for arduino sketches in a subfolder of BINDIR.
This prevents issues when doing concurrent builds or out of tree build with
readonly sources.

Declare all generated files as `BUILDDEPS` to be re-created after
`clean` on parrallel `clean all`.
2019-08-21 11:57:41 +02:00
Juan I Carrano
d2970332fc
Merge pull request #12009 from cladmi/pr/application/board_equal/bug
dist/tools/build_system_sanity_check: check BOARD set as ?=
2019-08-20 16:52:21 +02:00
Gaëtan Harter
e5e9d81cce
testrunner/utils: add helper for test_utils_interactive_sync
Add helper to do the synchronisation.
2019-08-15 12:26:28 +02:00
Gaëtan Harter
74fbf41517
dist/tools/build_system_sanity_check: check BOARD set as ?=
Applications Makefile must not set 'BOARD =' unconditionally but
'BOARD ?='
2019-08-14 17:23:18 +02:00
Sebastian Meiling
950b83e63e
Merge pull request #10252 from jcarrano/flake8-report-existence
tools/ci: correcly report flake8 version.
2019-08-14 11:11:50 +02:00
Martine Lenders
2f8234acb1
Merge pull request #11813 from aabadie/pr/tools/doccheck_detect_duplicate_defgroup
tools/doccheck: extend script to also check for Doxygen groups defined multiple times
2019-08-08 19:57:27 +02:00
Kees Bakker
c1d3128be3 dist/tools: add Coccinelle check for ARRAYSIZE
This Coccinelle script will warn when new code has the potential to use
the macro ARRAYSIZE instead of something like this
     sizeof(some_array) / sizeof(some_array[0])
2019-08-07 21:55:41 +02:00
5837075150
tools/doccheck: optimize display of undefined groups
The printed variable is not computed if no undefined group is found
2019-08-07 10:33:03 +02:00
1876619bf9
tools/doccheck: add check for multiple group definition 2019-08-07 10:33:03 +02:00
Gaëtan Harter
25890c814a
compile_and_test_for_board: add --with-test-only
Add an option to only compile applications that have available test.

The target usage is when running hardware tests to save time by only
compiling what will be tested.
2019-08-02 14:35:05 +02:00
Gaëtan Harter
821c42f5b2
compile_and_test_for_board: add logger info for 'has_test'
Add a logger info printing if the application has a test.
2019-08-02 13:24:52 +02:00
Kevin "Bear Puncher" Weiss
f932999df4
Merge pull request #11853 from sanjuprakashk/testrunner-timeout
dist/pythonlibs/testrunner: dynamic changing of test timeout
2019-07-18 11:57:31 +02:00
Gaëtan Harter
5ed65989ed
dist/jlink.sh: Allow overwriting the 'reset' commands
Add a variable to configure the reset commands.
This is required for board that need a hardware reset.
2019-07-17 15:29:51 +02:00
sanjuprakashk
d30bd7ae47 dist/pythinlibs/testrunner: dynamic changing of test timeout
Few flashers require a longer time to flash code and reset the device and
requires the test script to wait for a longer time before timing out.
This commit adds a environment variable "RIOT_TEST_TIMEOUT"  that can be
set by the user to vary the timeout in accordance to the requirements
of the system

on-behalf-of: @sparkmeter <sanju.kannioth@sparkmeter.io>
2019-07-17 06:25:28 -07:00
21e796d6f9
Merge pull request #11841 from kaspar030/bump_git_cache
dist/tools/git/git-cache: bump version
2019-07-17 13:21:59 +02:00
b33a196e78 dist/tools/git/git-cache: bump version
Upstream contains important fixes:

- improve tag handling
- improve concurrent use
- clean up temporary tags
2019-07-17 12:04:37 +02:00
f74e5e754a dist/tools/ethos: add setup_network.sh script 2019-07-15 12:33:11 +02:00
Juan I Carrano
6349d91277
Merge pull request #11695 from cladmi/pr/buildsystem_sanity_check/bug/never_returns_error
dist/tools/build_system_sanity_check: BUG fix errors being ignored
2019-06-26 11:58:11 +02:00
f1ffa10c7e dist/tools/ethos: adapt README.md to USEMODULE+=stdio_ethos 2019-06-24 09:56:30 +02:00
a66c7cf6e7
tools/nrf52_resetpin_cfg: add stdin dependency 2019-06-20 16:01:45 +02:00
Gaëtan Harter
e4b82be564
dist/tools/build_system_sanity_check: BUG error_on_input always fail
The function was always failing but was hidden by the previous bug too.
2019-06-14 12:24:31 +02:00
Gaëtan Harter
7d65a715ca
dist/tools/build_system_sanity_check: deprecate FEATURES_MCU_GROUP
Add a function to list deprecated variables or patterns and use it for
* FEATURES_MCU_GROUP
2019-06-14 11:34:00 +02:00
Gaëtan Harter
b744ba7f9e
dist/tools/build_system_sanity_check: BUG fix errors being ignored
On error messages the exit code was still 0 due to the typo.
Having error messages again properly return with an exit code of 1.
2019-06-14 10:58:28 +02:00
be1551c180 Revert "REMOVE ME TEST COMMIT"
This reverts commit c7b16bb4b4.
2019-06-14 10:04:33 +02:00
Gaëtan Harter
c7b16bb4b4
REMOVE ME TEST COMMIT 2019-06-13 16:04:04 +02:00
Gaëtan Harter
f37a586183
dist/tools/build_system_sanity_check: add reasons for each error type
Prepend the reason for the matched error pattern.
It will only add the reason if there is an error.
2019-06-13 16:04:04 +02:00
Gaëtan Harter
534ccaf5ee
dist/tools/build_system_sanity_check: handle error by prepending
Handle putting the final error message by prepending the output.
This removes issue with errors being concatenated and gives an
interractive output.

The errors are now send to stderr.
2019-06-13 16:03:51 +02:00
Gaëtan Harter
ef24df7ac0
dist/tools/build_system_sanity_check: add script helper functions
Add helper functions to better handle output and errors.
2019-06-13 16:01:45 +02:00
Leandro Lanzieri
4f3bc12daa dist/tools/edbg: Escape variable values 2019-06-06 14:45:35 +02:00
Juan Carrano
7f1357b721 tools/usb-serial: do not advise people to export PORT.
The example in the tool documentation contains several things that are
wrong:

- exports PORT.
- Defines the port using :=.
- Defines PORT instead of PORT_LINUX, PORT_DARWIN
- ifeq-based logic (which will force an evaluation).

I have not tested the new example script.
2019-06-03 16:31:31 +02:00
Gaëtan Harter
6c529458f1
dist/tools/buildsystem_sanity_check/: check no PORT_ exports
Add sanity check for removed exports.
2019-06-03 16:24:48 +02:00
06013cf443
tools/buildsystem_sanity_check: blacklist PROGRAMMER_SERIAL variable 2019-06-03 10:32:09 +02:00
4b4b5106c9
tools/buildsystem_sanity_check: blacklist new variables
DEBUG_ADAPTER, DEBUG_ADAPTER_ID, STLINK_VERSION are now blacklisted from exported variables
2019-06-03 10:32:08 +02:00
Leandro Lanzieri
79c095ef46 tools/jlink: Exit terminal on Ctrl+C 2019-05-29 09:18:52 +02:00
Leandro Lanzieri
07131b4e4d tools/jlink: Wait for server before pyterm 2019-05-29 09:16:05 +02:00
Gaëtan Harter
d486598fdf
dist/tools/buildsystem_sanity_check: check no PREFLASH* exports
Add sanity check for removed exports.
2019-05-28 09:58:40 +02:00
Gaëtan Harter
ea51cf3174
dist/tools/buildsystem_sanity_check: check no DEBUG* exports
Add sanity check for removed exports.
2019-05-28 09:58:40 +02:00
Gaëtan Harter
734410b9cd
dist/tools/buildsystem_sanity_check: check no RESET/RESET_FLAGS exports
Add sanity check for removed exports.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
95c07c507c
dist/tools/buildsystem_sanity_check: check no FLASHER/FFLAGS exports
Add sanity check for removed exports.
2019-05-28 09:56:14 +02:00
Gaëtan Harter
04e76f323d
dist/tools/buildsystem_sanity_check: handle vars exported in vars.inc.mk
Handle differently variables that are exported in `vars.inc.mk` from the
ones that should not.

This is needed for the upcoming variables change that should also be
removed from `vars.inc.mk` right now.

Keeping the old behavior will help migrating other variables more easily
by keeping them only exported in vars.inc.mk in the first time.
2019-05-28 09:53:40 +02:00
Martine Lenders
0f3ccb2a33
Merge pull request #11227 from maribu/leonardo
boards: Add support for the Arduino-Leonardo
2019-05-24 18:24:21 +02:00
3d6434125e
dist/tools/ci: update print version script in build_and_test.sh 2019-05-24 17:14:06 +02:00
Thomas Perrot
b63121c588
board: add support for arduino-leonardo 2019-05-24 15:12:47 +02:00
Francisco
00c652c8b0
Merge pull request #11223 from cladmi/pr/openocd/flashbin/probe
tools/openocd.sh: try to probe the board for real flash address
2019-05-17 10:28:58 -07:00
Gaëtan Harter
468e4084f2
tools/openocd.sh: probe the board for real flash address on binary flash
Some boards have a configuration of the flash bank with an address of 0
when it actually starts as 0x08000000 but openocd relies on probing
the hardware at runtime.

This now allows to first probe the board to get the actual value.
If probing fail for any reason, return the value from the configuration.
This can happen when the board is unreachable so at least give a valid
output instead of an error.

This will allow correct flash detection on for example the `stm32f3` and
`stm32l4` which have a configured address of 0.

4a6f93c961/tcl/target/stm32f3x.cfg (L64)
4a6f93c961/tcl/target/stm32l4x.cfg (L51)
2019-05-17 18:28:27 +02:00
9363a515a5 tools/pr_check: make sure no pkg makefile defines PKG_SOURCE_LOCAL
The variable is supposed to be used for local development only.
2019-05-16 11:31:32 +02:00
Gaëtan Harter
5bb49b673c
Merge pull request #11517 from cladmi/pr/compile_and_test_for_board/do_not_check_git
tools/compile_and_test_for_board: ignore git tracked or not
2019-05-13 19:43:02 +02:00
Gaëtan Harter
89e5c67f28
tools/compile_and_test_for_board: ignore git tracked or not
Remove the check that directory are git tracked or not.
This should not be done by the script and was a mistake.

If need be to be checked it should be moved to RIOT 'info-applications'
and running tests should be done in a clean environment anyway.
2019-05-13 16:38:41 +02:00
Gaëtan Harter
16f07e571e
tools/compile_and_test_for_board: assert resultdir is valid
Currently giving an absolute or outside of RIOT application breaks the
result directory evaluation which can lead to deleting the application.

Add an assertion to detect it.
2019-05-13 15:47:44 +02:00
Gaëtan Harter
db3847f107
tools/compile_and_test_for_board: add is_in_directory function
Add function testing if a path is inside a directory.
2019-05-13 15:38:27 +02:00
Gaëtan Harter
42b3cd5903
dist/tools/buildsystem_sanity_check: add an export variable check
Check that some variables are not exported in the build system.
This should track variables that managed to not be exported anymore so
that they do not reappear in a BSP.

It is not a whitelist but just a way to keep things cleaned in the
future.
2019-05-06 13:36:46 +02:00
Martine Lenders
bb7936cf21 release-stats: simplify script usage 2019-04-30 16:06:59 +02:00
Martine Lenders
11da5e8e67
Merge pull request #11435 from miri64/dist/fix/backport-tracking
backport_pr: set tracking branch to remotely created branch
2019-04-24 16:37:08 +02:00
Martine Lenders
aef6110b40 backport_pr: set tracking branch to remotely created branch 2019-04-24 15:53:54 +02:00
Martine Lenders
22640396a5 backport_pr: get Head object from new_branch name after creation 2019-04-24 15:52:55 +02:00
Martine Lenders
e3a99c40f6 backport_pr: exclude 'Reviewed' labels from backport 2019-04-24 11:52:54 +02:00
Martine Lenders
292c5dd730 backport_pr: add doc tests for _get_labels() 2019-04-24 11:47:22 +02:00
Gaëtan Harter
a0ef287f82
Merge pull request #11409 from miri64/dist/enh/backport_pr_fixes
dist/tools/backport_pr: several improvements
2019-04-18 14:55:03 +02:00
Semjon Kerner
f72cb846da dist/tools/nrf52_resetpin: delete obsolete register 2019-04-17 15:32:48 +02:00
Martine Lenders
1930368fd5 backport_pr: exit early when backport branch already exists 2019-04-17 12:44:21 +02:00
Martine Lenders
a7459e7463 backport_pr: don't assume devel remote to be 'origin' 2019-04-17 12:42:02 +02:00
Martine Lenders
989e2c6303 backport_pr: add function to find remote by URL 2019-04-17 12:35:14 +02:00
Martine Lenders
a9767889fc backport_pr: make error branch handling more idempotent
Otherwise, when an error occurs (e.g. credentials wrong on git push)
the worktree and the release branch still exists, which might be hard to
remove for a newcomer not knowing about `git worktree`.
2019-04-17 12:11:53 +02:00
Benjamin Valentin
e12f1f2ff8 pyterm: add /sleep function
The init_cmd feature is quite handy for automated pyterm runs but there
is no delay between the commands that are executed.

This adds a /sleep function that can be added between init_cmd commands
to prevent them from overflowing the RX buffer on the target.
2019-04-11 00:09:58 +02:00
Sebastian Meiling
70c30947d0 tools/tunslip: correct typos and refine readme 2019-04-09 17:31:08 +02:00
Martine Lenders
b381c0b24d
Merge pull request #11303 from cladmi/pr/jlink/failonerror
jlink.sh: Exit with an error on failure for JLinkExe commands
2019-03-28 14:48:51 +01:00
Gaëtan Harter
a354b10964
jlink.sh: Exit with an error on failure for JLinkExe commands
On error Jlink exits with a no error code by default.

From the JLink User Guide:

'-ExitOnError' has the same meaning as the 'exitonerror' command

    'exitonerror' command
    This command toggles whether J-Link Commander exits on error or not.

    1: J-Link Commander will now exit on Error.
    0: J-Link Commander will no longer exit on Error.

Executing 'flash/reset' without a board connected now correctly returns an
error. For 'term' it does not show an error due to the way it is handled
internally.

It also returns an error when the board fails to do an operation when it
is in a state where it cannot be flashed for example.
2019-03-28 11:26:24 +01:00
Gaëtan Harter
87a1d08602
compile_and_test_for_board: use 'test/available' to detect test
Use the new 'test/available' target to detect if there are tests.
This prevents issues where calling make would print unrelated debug
messages that would be taken as an output.

The targets executed to check if there are tests can be set with
'--test-available-targets'.
2019-03-26 14:12:25 +01:00
e2a162b79d
tools/pyocd: add option for image offset 2019-03-24 16:48:45 +01:00
danpetry
80d4838b1a jlink: handle flashing at IMAGE_OFFSET
- Handling of flashing address is now similar to that in openocd,
  except FLASH_ADDR is not automatically determined
2019-03-20 16:07:51 +01:00
Martine Lenders
4ee4625f39
Merge pull request #10357 from jcarrano/posix_headers-module
sys/posix: make posix module provide only headers.
2019-03-20 14:07:12 +01:00
Juan Carrano
6b766c3cd3 sys/posix: make posix module provide only headers.
The build system contains several instances of
 INCLUDES += -I$(RIOTBASE)/sys/posix/include

This is bypassing the module management system, by directly accesing
headers without depending on a module. The module is the posix module.

That line is also added when one of the posix_* modules is requested.

According to the docs, the posix module provides headers only, but in
reality there is also inet.c.

This patch:

- Moves `inet.c` into `posix_inet`, leaving `posix` as a headers-only
  module.
- Rename `posix` as `posix_headers` to make it clear the module only
  includes headers.
- Makes `posix_*` modules depend on `posix_headers`, thus removing the
  explicit `INCLUDES+=...` in `sys/Makefile.include`.
- Ocurrences of `INCLUDES+=...` are replaced by an explicit dependency
  on `posix_headers`.
2019-03-20 12:57:13 +01:00
Dylan Laduranty
c99c0f61ab
Merge pull request #11156 from jcarrano/update-edbg
tools/edbg: Update to latest version.
2019-03-19 21:36:28 +01:00
Juan I Carrano
999ef3bc53
Merge pull request #10952 from cladmi/pr/bug/testrunner/matching_local_echo
[BUG] testrunner matching local echo
2019-03-13 15:46:39 +01:00
Juan I Carrano
b50ad9ed4c
Merge pull request #11040 from kaspar030/fix_hifive1_reset
boards/hifive1: fix hifive1 reset
2019-03-12 14:59:36 +01:00
3583b00750 dist/tools/openocd: make "reset run" command configurable
Co-Authored-By: jcarrano <juan@carrano.com.ar>
2019-03-12 11:49:02 +01:00
Juan Carrano
872f850e87 tools/edbg: Update to latest version.
The lastest version of edbg solves a double-reset issue that was
hindering testing (see #11125 and https://github.com/ataradov/edbg/issues/77)

It also adds support for SAMR34 and SAMR35, needed by @dylad for MCU
port.
2019-03-11 15:51:32 +01:00
da2f4747e8
Merge pull request #11079 from cladmi/pr/compile_and_test/bug/update_docstring
tools/compile_and_test_for_board: FIX outdated help docstring
2019-03-06 16:54:42 +01:00
Gaëtan Harter
a1d47cae21
tests/compile_and_test_for_board: remove duplicate 'default' in help
Default values are given by ArgumentDefaultsHelpFormatter so no need to
duplicate 'default' value in manually anymore.
2019-03-06 14:47:45 +01:00
Gaëtan Harter
731dcfc319
testrunner: disable local echo
When local echo is enabled, pexpect will also match on send lines to the
node. So could think a node is echoing when it is only seeing the sent
message.
The sent messages are still written to `logfile` but now only once.

This may show issues with our current tests implementation that expected
this behavior.
2019-03-04 13:26:53 +01:00
Gaëtan Harter
8c15d97629
tools/compile_and_test_for_board: add tests for help message
Verify that the help message matches what is in the docstring.
2019-02-28 13:45:40 +01:00
Gaëtan Harter
998211d738
tools/compile_and_test_for_board: add tests directory
Tests in `tests` will be used by 'tox'.
2019-02-28 13:45:40 +01:00
Gaëtan Harter
94aeb5a223
tools/compile_and_test_for_board: FIX outdated help docstring
Update the help message in the docstring.
It should reflect the content of `--help`.

I replaced the manual line wrapping by disabling the warning on the
docstring.
2019-02-28 13:45:40 +01:00
Martine Lenders
cfee6faf57
Merge pull request #10431 from miri64/dist/enh/testcase-testrunner-wrapper
dist/pythonlibs: provide unittest TestCase wrapper for testrunner
2019-02-26 19:55:24 +01:00
Gaëtan Harter
9af491d2f6
tools/backport_pr: add tox.ini
Adapt tox file from `compile_and_test_for_board.py`.

`tox` is still not working without errors but gives way to start
refactoring.
2019-02-12 15:34:15 +01:00
493cac27f3
dist/tools: Add script for backporting PR's
This script provides functionality to easily backport a merged pull request to
a release branch.

It relies of having a `github` API token stored in `~/.riotgithubtoken` by
default.

The script works by fetching information from the supplied **merged** pull
request. It then looks for the last release branch.
A temporary git `worktree` with a new branch is created based on this release
branch. All commits from the pull request are then cherry-picked into this
branch which is then pushed to `origin`.
It then creates a new pull request on `github` with a reference to the original
pull request. It optionally puts a comment under the original pull request to
the new backport pull request.

Co-authored-by: Gaëtan Harter <gaetan.harter@fu-berlin.de>
2019-02-12 15:34:12 +01:00
Gaëtan Harter
f89bf055b4
pyterm: use python3 by default
Python3 has been the default in our scripts for some time now, but pyterm still
requested python which uses python2 on ubuntu stable.

This pushes toward only needing to install `python3` python
dependencies.
2019-02-11 17:09:13 +01:00
Martine Lenders
4b5b5d910b dist/pythonlibs: provide unittest TestCase wrapper for testrunner
I had this idea when implementing #10382 and #10392 as I introduced a
very similar structure to python's standard unittests in those and it
could also reduce some code duplication between those two tests.
2019-01-29 21:16:39 +01:00
Martine Lenders
b2407e4583 dist/pythonlibs: expose functions to setup/teardown pexpect spawn
This allows for re-usability of those functions in other contexts.
2019-01-29 20:41:49 +01:00
MrKevinWeiss
957cc83cc6 doc: Update copywrites it include HAW 2019-01-28 09:08:50 +01:00
613e05fd42
tools/compile_test_one_board: update documentation README
Provide some notes on how to perform basic checks on the script using tox
2019-01-23 18:23:05 +01:00
148f715689
tools/compile_test_one_board: add tox.ini configuration file
tox.ini configures 3 checks on the python script: doctest (via pytest), pylint and flake8
2019-01-23 18:23:04 +01:00
26a64694dd
tools/compile_test_one_board: rename TestError exception class
Otherwise it conflicts with pytest automatic parsing which tries to execute all classes with name beginning with Test
2019-01-23 16:25:31 +01:00
a4ad366a81
Merge pull request #10818 from cladmi/pr/compile_and_test_board
dist/tools/compile_and_test_for_board: add compile and test script
2019-01-22 08:56:31 +01:00
cladmi
921afa0820
testrunner: fix script when RIOTBASE is not defined
If not defined it was raising a KeyError. Use the 'get' function to
handle non defined value.

It did not put the value in the `default` case as it would have changed
the behavior when `RIOTBASE` is defined but empty.
2019-01-21 12:19:34 +01:00
Gaëtan Harter
204a4bae7f
dist/tools/compile_and_test_for_board: add some TODO
The script was migrated as is from Release-Specs but could benefit from
adaptation as it is run from RIOT.
2019-01-18 16:08:55 +01:00
Gaëtan Harter
ae76d7f364
dist/tools/compile_and_test_for_board: add compile and test script
Move the compile and test script from Release-Specs.
https://github.com/RIOT-OS/Release-Specs/blob/271dc8/02-tests/compile_and_test_for_board.py

By default it should be run as

    ./compile_and_test_for_board.py path_to_riot_directory board_name [results]

The script is migrated as-is so has not been changed to automatically use the
current repository.
2019-01-18 16:08:31 +01:00
Juan Carrano
2209435214 tools/ci: correcly report flake8 version.
If the flake8 executable is not found, the static test script reports
the tool as missing. It may happen that the flake8 module is installed,
but the console entry point is not.

In the flake8 shell script, flake is invoked via `python -m`. The result
is a confusing error message where static-test reports the tools as missing,
yet the flake8 tests are run.

This patch makes the toolchain version script use the same command as the
flake8 script.
2019-01-15 20:10:29 +01:00
Juan Carrano
9926ac1ffa ci/print_toolchain_versions: robust/portable version detection.
Detect command line tool versions without using "command".
Command may be a builting in some shells, leading to unportability.

The new version uses the status code to correctly detect a non-existent
command. This allows it to differentiate between error in the tool and
not-found errors.

It also works with compound commands, for example `python -m callable_module".
2019-01-15 20:02:01 +01:00
Martine Lenders
4887b22ef5 print_toolchain_versions.sh: add xtensa newlibs 2018-12-29 15:26:36 +01:00
Martine Lenders
745574266c print_toolchain_versions.sh: add xtensa toolchains 2018-12-29 14:28:08 +01:00
Martine Lenders
7bdbd163c9 print_toolchain_versions.sh: make lists easily diff-able 2018-12-29 14:27:35 +01:00
f5170bb82c dist/tools/pyocd: provide support for PyOCD programmer 2018-12-21 14:56:26 +01:00
Francisco Acosta
a638f31bce dist/tools: add genhdr tool to generate RIOT image headers
In order to use the RIOT bootloader (riotboot) a header needs to
be created and placed before the firmware. This tool generates
such a header with the expected information by the bootloader.

Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2018-12-18 19:31:34 +01:00
0cb75c5f10 testbed-support: add nrf51dk to supported archis 2018-12-12 15:36:56 +01:00
Dylan Laduranty
f01bc4dc1d dist/tools/edbg: update to lastest version
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2018-12-07 10:49:38 +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
Martine Lenders
37a11e9802 dist/testbed-support: add firefly in IoT-LAB archis 2018-12-04 14:54:26 +01:00
963d06c7de
Merge pull request #10528 from cladmi/pr/make/jlink/flashfile_from_cli
jlink: get flash and debug files from cli
2018-12-03 13:44:39 +01:00
Juan I Carrano
f4e810cfff
Merge pull request #9819 from jcarrano/doccheck-report-total-failure
tools/doccheck: Detect when `make doc` fails to run.
2018-11-29 18:37:15 +01:00
Martine Lenders
2a2ef9bbdf
Merge pull request #10481 from aabadie/pr/tools/pyterm_exception
tools/pyterm: catch serial.Exception when serial port is busy
2018-11-27 17:59:26 +01:00
Gaëtan Harter
adbc214298
Merge pull request #10457 from aabadie/pr/testbed-support/iotlab-phynode
dist/testbed-support: add pba-d-01-kw2x in iotlab archis
2018-11-27 17:34:19 +01:00
98413e43af tools/pyterm: catch serial.Exception when port is busy
This can happen when opening a terminal right after flashing a board that has just been plugged
2018-11-27 17:30:45 +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
Juan I Carrano
d3e9eec8fe
Merge pull request #10060 from cladmi/pr/tests/build_system_checks
static_tests: add build system checks
2018-11-27 15:20:45 +01:00
Juan Carrano
ae4cecd14c tools/doccheck: Detect when make doc fails to run.
The previous doccheck would give a false negative when doxygen does
not even run (for example, because of misconfiguration).

Also, when doxygen fails to run, print the full output.
2018-11-22 16:51:07 +01:00
a640957e31 dist/testbed-support: add pba-d-01-kw2x in iotlab archis 2018-11-22 16:38:33 +01:00
17c7ad89a9 dist/testbed-support: add frdm-kw41z in iotlab archis 2018-11-22 10:56:50 +01:00
99fa0e9cf8 dist/tools/tested-support: update samr30 archi mapping
The archi was changed in IoT-LAB: samr30:at86rf215 => samr30:at86rf212b
2018-11-20 21:39:12 +01:00
cladmi
bcf0342cbd
static-test: add buildsystem sanity check 2018-11-19 16:00:46 +01:00
cladmi
143e393fcd
dist/tools: add build system sanity check script
Add a script to execute sanity checks on build system files.
It should prevent bad patterns to re-appear after being cleaned.

Currently adds a check for using the content of `FEATURES` instead of
`USEMODULE`.

Modules should not check the content of FEATURES_PROVIDED/_REQUIRED/OPTIONAL
Handling specific behaviors/dependencies should by checking the content of:
 * `USEMODULE`
 * maybe `FEATURES_USED` if it is not a module (== not a periph_)
2018-11-16 16:40:23 +01:00
Joakim Nohlgård
3deea7dfbf print_toolchain_versions.sh: Add make command version 2018-11-12 14:06:29 +01:00
cladmi
a7779e24c5
openocd.sh: handle 'newline' on osx
https://stackoverflow.com/a/24276470

    In replacement strings used with the s command, assume that NO
    control-character escape sequences are supported (ex '\n')

Replace with an escaped newline character. Current form works in 'bash'.
2018-10-30 19:44:37 +01:00
cladmi
6f02568c84
openocd.sh: split 'sed' commands on different lines
https://stackoverflow.com/a/24276470

    Labels and branching commands (e.g., b) must be followed by an actual
    newline or continuation via a separate -e option.
2018-10-30 19:44:37 +01:00
cladmi
291a80c664
openocd.sh: refactor splitting banks in a separate function
Prepare for other refactoring.
2018-10-30 19:44:37 +01:00
a3f2d20169 dist/testbed-support: add new iotlab archi
nrf52840dk and microbit
2018-10-28 18:57:17 +01:00
Gaëtan Harter
8179038a8c
makefile.iotlab.single.inc.mk: add new IoT-LAB supported nodes
Support for `nrf52dk` and `samr30-xpro` has been added on saclay site.
2018-10-24 15:43:59 +02:00
Gaëtan Harter
599bc2afd2
makefile.iotlab.single.inc.mk: sort IOTLAB_ARCH_ variables definition
Define them in alphabetical order instead on putting the 'iotlab'
specific nodes at first. Prepare for adding new architectures.
2018-10-24 15:12:00 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Martine Lenders
a73c499b67
Merge pull request #10117 from miri64/tools/enh/pr-check-label-rename
tools/pr_check: adapt for label categorization
2018-10-12 20:17:57 +02:00
Kevin "Bear Puncher" Weiss
0719442ddc
Merge pull request #10072 from haukepetersen/fix_nrf52xxxdk_resetpin
boards/nrf52xxxdk: make reset pin work
2018-10-12 09:36:30 +02:00
Martine Lenders
6f8fd1d6df doccheck: exclude dist/tools directory from group check 2018-10-11 15:16:09 +02:00
Sebastian Meiling
239b3dfe86
Merge pull request #10132 from MrKevinWeiss/pr/adaptphil
dist/tests/if_lib: Update to riot_pal
2018-10-11 11:47:55 +02:00
Pekka Nikander
371134264a dist/tools/commit-msg/check.sh: Enhance reporting 2018-10-10 14:06:33 +03:00
MrKevinWeiss
5b83137fd1 dist/tests/if_lib: Update to riot_pal
This removes all non-application based driver/devices and replaces with riot_pal.
riot_pal (riot protocol abstraction layer) can be installed with pip install riot_pal.
The purpose is ti simplify and modularize the interfaces and tests.
All tests using the if_lib interface are updated too.
2018-10-09 21:21:17 +02:00
Schorcht
32e602680b cpu: add esp32 vendor files 2018-10-08 12:20:49 +02:00
Martine Lenders
055ec38fff tools/pr_check: adapt for label categorization
In [#10030][1] it was decided to rename all labels to reflect their
respective category. The labels "NEEDS SQUASHING" and "Waiting For Other
PR" are used in the `dist/tools/pr_check/pr_check.sh` script however, so
that script needs to be adapted.

[1]: https://github.com/RIOT-OS/RIOT/issues/10030
2018-10-05 19:07:32 +02:00
Francisco Acosta
cb8e78da13
Merge pull request #9916 from kYc0o/pr/tools/fix_kill_testrunner
dist/tools/jlink.sh: fix testrunner on stdio_rtt based devices
2018-10-04 17:31:58 +02:00
Hauke Petersen
0ca02de0a2 tools: add nrf52_resetpin_cfg tool
This new tool allows configuring the reset pin for nRF52-based
boards. As the reset pin configuration is persistent, it does not
make sense to include it into the board code...
2018-09-28 16:50:58 +02:00
Martine Lenders
442df8227b
Merge pull request #9839 from MrKevinWeiss/pr/doc/repoupdate
doc: Add deprecation warnings for new repos
2018-09-25 23:15:07 +02:00
Martine Lenders
5ac02f5134
Merge pull request #10010 from smlng/pr/fix/cppcheck-suppress
dist/cppcheck: fix missing cppcheck-suppression reasons
2018-09-25 13:52:28 +02:00
smlng
d7942cd974 dist/tools: fix tunslip6 strncat num param
Cppcheck was (correctly) warning here that concat to strings might
result in buffer overflow because the terminating `\0` was not considered.
This is fixed here, making the cppcheck suppression also obsolete.
2018-09-25 12:03:58 +02:00
smlng
3f811c44db cppcheck: extend cppcheck README example
Extend the cppcheck suppression example to show that each suppression
should have a reason describing the intentional suppression of a
cppcheck warning or error.
2018-09-25 12:03:58 +02:00
smlng
59e299635b cppcheck: add/correct reason for cppcheck-suppress
Adding and correcting description/rational on why certain cppcheck
warnings or errors are intentionally suppressed.
2018-09-25 12:03:58 +02:00
smlng
6d24033bd6 dist/tools: print OS and Kernel version
Add output to print_toolchain_version script to include info
on the operating system and its kernel version.
2018-09-25 09:22:42 +02:00
smlng
87505f0334 dist/tools: fix whitespace in print_toolchain_versions 2018-09-25 09:22:41 +02:00
smlng
c73ed667c1 dist/tools: print more tool versions
This adds openocd, python, python2, and python3 to the helper
script print_toolchain_versions.sh.
2018-09-25 09:22:41 +02:00
smlng
424830b06b dist/tools: parse version info from stderr
Currently version information of commands and tools is only parsed
from STDOUT, however some tools like openocd print version info
to STDERR only. This commits adds parsing of STDERR for version
infos if STDOUT does not contain such info.
2018-09-25 09:22:41 +02:00
Leandro Lanzieri
31fa4fd64d dist/tools: Add stm32loader flash utility 2018-09-18 18:07:42 +02:00
Francisco Acosta
89fa4da4c3 dist/tools/jlink: remove duplicated check 2018-09-11 17:29:12 +02:00
Francisco Acosta
ad87b2875e dist/tools/jlink: remove setsid for launching JLinkExe for term
When executing `make test` on devices using JLink, testrunner
launches `make term` which calls `jlink.sh term_rtt`. When finished
the father process is killed but `setsid` has launched JLinkExe
as another subprocess, which is not killed by `os.killpg` from
testrunner since it doesn't belong to the same group.
2018-09-11 00:46:18 +02:00
Francisco Acosta
dfd349a05b dist/tools/jlink: send output to /dev/null
While running `make term` JLinkExe is expecting commands and thus
can be disturbed by other JLink commands, e.g. `make reset`.
This enable `make test` (which runs those two commands at the same
time) on target using JLinkExe as a programmer/debugger.
2018-09-11 00:46:18 +02:00
0c1a207bf9
Merge pull request #9867 from kaspar030/pr/unify_app_folder_search
make: unify app folder search (examples/*, tests/*, ...)
2018-09-06 09:30:12 +02:00
de55265835 dist/tools/compile_test: make use of makefiles/app_dirs.inc.mk 2018-09-05 12:03:09 +02:00
Schorcht
e528fb8e2d cpu: add esp8266 vendor files 2018-09-05 02:39:50 +02:00
cladmi
bc7e53f3d4
openocd.sh: include base address in IMAGE_OFFSET for binfiles
Add the rom base address to the flash address when flashing binaries.
This allows flashing binaries with the default openocd configuration.

It is an API change to IMAGE_OFFSET with binary files as it should now
only be an offset to the base address.

Force openocd type to '.bin' in case we want to flash hex/elf objects or
files not automatically recognized as bin.
2018-09-04 13:53:38 +02:00
cladmi
36b51467dd
openocd.sh: add functions to access board flash address
This allows getting the ROM base address.

It may not be available in the build system directly so better extract it from
openocd. Also openocd is board specific and this address is cpu specific
so would have definition order issue in the build system.
2018-09-04 13:50:46 +02:00
cladmi
5748d6a75f
openocd.sh: add a _is_binfile function
Returns 0 if it is true.

The test is based on the file extension, but also use the IMAGE_TYPE variable
to force setting to binary.
2018-09-04 13:49:45 +02:00
cladmi
60aac4a75b
openocd.sh: fix verify_image with IMAGE_OFFSET
When flashing with an IMAGE_OFFSET, it should also be passed to
verify_image. It is handling the base address in the image too.

This works with both elf files and binaries with the base address added.
2018-09-04 13:48:16 +02:00
cladmi
09f0930f59
openocd.sh: add a debug message when flashing with an offset 2018-09-04 13:48:12 +02:00
cladmi
5bb9babfe0
openocd.sh: update to bash
Update to bash to have `local` variables and `=~` regex matching.
Will be used in upcoming commits.
2018-09-04 13:46:25 +02:00
75dba75fbb dist/tools/pyterm: handle ctrl+d nicely 2018-09-03 17:34:23 +02:00
a5714cc7c7 dist/tools/compile_test: fix flake8 issues 2018-08-31 08:50:52 +02:00
MrKevinWeiss
223ed1a26b doc: Add deprecation warnings for new repos
This PR add deprication warning to notify anyone using the if_lib files that it is being removed from RIOT repo and making it's own repo (RIOT-OS/lib_if).
This is intended to help wil modularization since it is not only being used within RIOT but in other areas as well.
README files are updated to indicate the change and if the if_lib is used it will throw a warning indicating the deprecation.
2018-08-25 10:34:32 +02:00
Semjon Kerner
a01eb37b6f dist/tools/pyterm: change deprecated warn to warning 2018-08-23 12:23:59 +02:00
Leandro Lanzieri
28b832ad1f dist/tools: Add option to set the value of RTS and DTR pins in pyterm 2018-08-22 11:13:45 +02:00
Leandro Lanzieri
9b0dd23ebf dist/tools: Add option to invert DTR and RTS logic values in pyterm 2018-08-22 09:00:06 +02:00
Gaëtan Harter
cc63d2d21c
genconfigheader: use lazysponge for file management
Remove file management from `genconfigheader` script and use `lazysponge` in
Makefile.include.

Use --verbose option when in non QUIET building mode.
2018-08-20 11:34:55 +02:00
Gaëtan Harter
0528e0903f
dist/tools: add lazysponge tool
Write stdin to <outfile> if it is different from the previous content.

If data provided in stdin is the same as the data that was in <outfile>, it is
not modified so `last modification date` is not changed.
2018-08-20 11:34:49 +02:00
Gaëtan Harter
31aba49a31
Merge pull request #9759 from smlng/pr/pythonlibs/testrunner
dist: move testrunner to pythonlibs as package
2018-08-16 11:54:02 +02:00
Gaëtan Harter
a3c7d26a7d
dist/tools/has_minimal_version: add tool to check minimal version
usage: has_minimal_version.sh <version> <minimal_version> [toolname]
      Checks that version >= minimal_version
      Version format MAJOR.MINOR.PATCH ex 3.1.4
2018-08-14 15:26:51 +02:00
smlng
dd9a43bdc9 dist: move testrunner to pythonlibs as package
As testrunner is moved to dist/pythonlibs which is exported
via PYTHONPATH, testrunner is found by all test scripts.
2018-08-13 14:11:22 +02:00
smlng
68a6ba8987 make: introduce common Python lib path
Introduce dist/pythonlibs directory to store RIOT python packages.
This directory is exported via PYTHONPATH by the build system to
make it commonly available.
2018-08-10 11:37:43 +02:00