b-l475e-iot01a can become unflashable when hardfaults occure.
To make sure flashing succeeds `connect_assert_srst` is called
before connecting to flash through openocd.
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`.
Having the definitions sit in the `net/gnrc/sixlowpan/frag.h` header
does not make much sense, when using Selective Fragment Forwarding
(and the fragmentation buffer already includes a
`net/gnrc/sixlowpan/frag/stats.h` header), so they are moved to their
own header. Since with this change it makes more sense to have the
statistics stored in their own sub-module, the pseudo-module is also
actualized.
On `native` when using `vfs` the `fmt` print functions do not work.
This is because the `fmt` module uses the `write()` system call which
is bend by the `native_vfs` module to use `vfs_write()`. However,
`native` does not use a `stdio` module to print. Instead, it just
writes to the hosts standard I/O directly. As such, STDIN, STDOUT, and
STDERR are never initialized for `vfs` so `vfs` does not recognize
`STDIN_FILENO`, `STDOUT_FILENO` and `STDERR_FILENO` as valid file
descriptors.
This test case showcases this bug.
This adds a check to decide if Kconfig should run on a build. It will
run if any of the following conditions is true:
- A file with '.config' extension is present in the application folder
- A 'Kconfig' file is present in the application folder
- A previous configuration file is present (e.g. from a previous call to
menuconfig)
- menuconfig is being called
This assumes that Kconfig will not generate any default configurations
just from the Kconfig files outside the application folder (i.e. module
configuration via Kconfig is disabled by default). Should this change,
the check would not longer be valid, and Kconfig would have to run on
every build.
Add an example that implements an external board based on native.
It relies on 'BOARDSDIR' and uses common files from 'RIOT/boards'
through 'RIOTBOARDS'.
This application also works with the docker integration.
Introduce a new variable 'BOARDSDIR' to use when referencing the base
boards directory.
This is a transition to allow defining external boards while still using
the `RIOT/boards` directory for like `boards/common` for example through
'RIOTBOARD'.
Allow defining new directory variables that will not be overridden when
set from command line.
Command line is supposed to override from the value in make.
Promoting another behavior is against `make`.