When merging hex files, and there is an overlap between the hex files,
display the hex file that failed to merge.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Although each of these command implementations has good output for
"west <command> --help", the "west --help" output is missing the
one-line descriptions.
Add them by modifying west-commands.yml to use a new 'help' key in
each command name. These need to be kept in sync with the Python
sources. For now just do that by copy/pasting. We could add fancy
logic to load the help from west-commands.yml later if we want.
Signed-off-by: Marti Bolivar <marti@foundries.io>
Extend the list with the new nRF91 SoC.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
In order to be able to merge the topic branch, we require a few
fixes to CI.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Incorporate these into run_ci.sh the same way that btsim results were
done. This adds a dependency on pytest.
Signed-off-by: Marti Bolivar <marti@foundries.io>
Commit 88ece494 ("ci: do not build docs in main CI job") removed the
call to build_docs but not the function itself. That makes it
confusing to try to find where it's called; remove it.
Signed-off-by: Marti Bolivar <marti@foundries.io>
West now supports a mechanism for extension commands. Use it to move
the command implementations that are tightly coupled with boards and
the zephyr build system back into the Zephyr repository.
This patch doesn't include test cases. Those will be moved over in a
subsequent patch.
Signed-off-by: Marti Bolivar <marti@foundries.io>
The new west is able to initialize itself from an existing zephyr clone
without modifying it, adapt the CI script accordingly.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
West right now modifies the zephyr tree and points to master. In CI we
need to point to the pull-request HEAD instead, so so whatever shippable
does after cloning with west.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
west will now be installed via pip in order for the bootstrapper to be
decoupled from the west runners.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The header comment in 'generated_dts_board_unfixed.h' was including
'compatible' as a helpful text.
But something has been broken with how we extract 'compatible' because
it was being evaluated to 'q'. Giving a confusing header text:
Generated include file q
Since the mechanism is broken, and does not appear to be important, we
remove it.
Also, modernize how we generate multi-line strings.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
extract_dts_includes.py has been generating DT output and then
concatenating it with fixup header files to create
'generated_dts_board.h'.
In this patch we instead introduce a source file named
'generated_dts_board.h' and have it \#include the appropriate DT
output and fixup files.
This results in a simpler system because users can now read
'generated_dts_board.h' as C source code to see how fixup files and
generated DT output relate to each other. Whereas before they would
have to either read documentation or python code to gain the same
understanding.
Also, it reduces the scope and complexity of one of our most bloated
python scripts, extract_dts_includes.py.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
Add support to generation script to generate defines for GPIO CS
[WIP], need to clarify some issues on how CS's look when we mix GPIO-CS
and HW CS.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Add the ability to extract just a single instance from extract_cells and
extract_controller. This lets us pass in a prop_values like:
cs-gpios = < 0x02 0x11 0x00 >, < 0x03 0x05 0x00 >;
and extract just index = 1 if we want < 0x03 0x05 0x00 >.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Move extract_cells and extract_controller functions into globals so they
can be utilized outside of just the main extract_dts_includes script.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Previous release had some issues with unicode and was failing to install
in our CI. Those issues were fixed in this release.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
We get warnings like:
foo.yaml('BAH') merge of property 'category': 'required'
overwrites 'optional'
This warning isn't meaningful as its reasonable to change the 'category'
of a property from 'optional' to 'required'. So don't warn in the case
anymore.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Running sanitycheck from Windows is not supported yet. Unfortunately,
the error message is obscure when a user is unaware of this and runs
it from Windows anyway.
This patch gives an easy to understand error message explaining this
issue.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
The Intel S1000 board has a SPI flash that isn't directly MMIO
addressable. For this case we shouldn't generate CONFIG_FLASH_SIZE or
CONFIG_FLASH_BASE_ADDRESS.
We use the heuristic of assuming if the flash node #size-cells is 0, its
a SPI flash. Than if the parent node (SPI controller) has only a single
reg element we assume its a non-MMIO addressable SPI flash. If there is
more than one reg element we assume the last reg element is the MMIO
address region for access to the flash.
Fixes#12530
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
While trying to catch crashes after test completes, do not keep
extending the timeout which might lead to and endless loop and not
getting out based on set timeout.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
We want to run coverage on select platforms even if a few do support
that now. Specify which platforms should be enabled using the new option
--coverage-platform
By default we have the posix platform configured. Any additional
platforms can be specified using the option above.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This script will parse the serial console log file and create the
required gcda files.
Usage:
python3 ${ZEPHYR_BASE}/scripts/gen_gcov_files.py -i console_output.log
Add -v for verbose.
Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Changed arg parsing so you can invoke the script and only generate the
include file or conf file as desired.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
The change adds an optional capability to kill process by PID in the
BinaryHandler. At the moment proc.terminate only closed the make
process, also closing the stdin/stdout, but this is impossible to detect
in .NET.
Signed-off-by: Dawid Wojciechowski <dwojciechowski@internships.antmicro.com>
Signed-off-by: Jan Kowalewski <jkowalewski@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Add support to generate defines of the form
DT_<COMPAT>_<INSTANCE>_<PROP>. The idea is that we can utilize this in
drivers to remove the need for dts_fixup.h. The <INSTANCE> value is
determined by the script and starts at 0 and counts up for each instance
of a given <COMPAT>.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
If an aliases already exists in the defs we should filter it out. Also
if an alias exists in the new_def we should filter the alias out.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
When Zephyr was building the C implementation of KConfig it used the
build script 'FindRegex.cmake' to satisfy a regex dependency.
Now that we no longer use the C implementation of Kconfig we no longer
use this build script, and it is safe to remove it.
Signed-off-by: Sebastian Bøe <sebastian.boe@nordicsemi.no>
The information message when processing the yaml files is
cryptic when there is an override. This change adds filenmae
of yaml file being processed and the parent tuple with
the override.
Signed-off-by: David Leach <david.leach@nxp.com>
pyocd recently merged its command-line tools into a unified pyocd tool
with subcommands. The separate command-line tools still remain, but are
deprecated. Update the pyocd version required by zephyr in preparation
for updating the pyocd runner to use the new unified tool commands.
Pin pyocd to a specific version rather than allowing any version greater
than or equal to 0.14.0 because there have been a few unstable releases
recently. Version 0.14.3 is what I have been using locally and know to
be stable.
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
We need to refactor how we determine CONFIG_FLASH_{SIZE,BASE_ADDRESS}
for when we have a QSPI that is memory mapped. "zephyr,flash" is going
to point the actual flash component that will be on a SPI bus and thus
the device node's reg property tells us which CS on the SPI bus its on,
not the memory mapped address/size of the flash.
So we make a few assumptions to handle this case:
1. If the #size-cells for the flash node is 0, we assume its a QSPI
memory mapped flash
2. That the QSPI memory mapped node (parent of what "zephyr,flash" is
point to, will contain a reg propery where the second reg pair will
be the memory mapped region for the flash.
We move handling of CONFIG_FLASH_{SIZE,BASE_ADDRESS} into flash.extract
so its all in one place.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Extend the "slow" flag on tests to inhibit building too. The original
assumption was that building would be fast but running slow, but now
We have tests using a component (OpenThread) that wants to pull and
build software from github for every app.
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
The segment size computation has value, but it's actually a very slow
process that parallizes poorly. It seems to be bound by the Python
GIL doing the parsing, so never sees more than about 150% of CPU in
use even on wildly parallel systems. And it takes about 75-80
seconds, which is 15-20% of the entire runtime of the test on that
box!
And the only "failure" case this can detect (unexpected sections in
the output file) is now a duplicate of the orphan section warning
we've since enalbled at the linker level.
This defaults to enabling the test to preserve behavior (as I don't
know where all the existing users of the size report are to change
them), but long term we might consider making "disabled" the default
and switching this to an --enable flag.
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Update menuconfig and Kconfiglib to upstream revision 16539b4f223fa, to
add the commit below.
menuconfig: Prompt for save if a different .config would be saved
Previously, menuconfig.py only prompted for saving the configuration
if .config didn't exist or the user changed symbol values within the
interface.
Also make it prompt for save if Kconfig symbols have been added,
removed, or have had their defaults changed, provided it would make
the saved .config differ from the loaded one.
This usually won't matter for correctness, because loading an
outdated configuration performs an implicit olddefconfig, but it's
less confusing.
Also add a Kconfig.missing_syms attribute that records all
assignments to undefined symbols in the most recently loaded .config
file. This is needed to implement the check for whether the saved
.config would be different.
As an unrelated change, always prompt for saving if a .config has
been loaded from within the menuconfig interface. The intention is
probably often to save the configuration somewhere else, even if it
isn't modified.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
This seems to solve the issue with GH-12033. There seems to be
some compiler optimization that was causing this issue. This
occurs only when the build is re-run by invoking cmake without
clearing the previous build.
Fixes:GH-12033
Signed-off-by: Adithya Baglody <adithya.nagaraj.baglody@intel.com>
When running valgrind in sanitycheck, use the suppression file
and dump the log in its own file.
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
If the test process returns an error (return code != 0),
it should be considered a failure, even if the handler
considers the test passed.
But this is not done when we are killing (SIGTERM) the processes,
as then the return code is not necessarily sensible.
Without this, for example, when running with valgrind, all valgrind
errors are missed.
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Added a valgrind error supression file which can be used when
running in the POSIX arch.
So far we are supressing 2 types of errors:
* One very normal in glibc, which will be triggered in the nrf52_bsim
* 2 due to the posix arch prioritizing terminating fast over terminating
cleanly. The posix arch, when posix_core_clean_up() is called, will
pthread_cancel all Zephyr threads. But it will NOT wait for them to
finnish, in case any of them was hung or there is any other problem
which would prevent it. Therefore, depending on the execution, some
times the threads will be still lingering when the main thread exits
Somethign similar applies to posix_soc_clean_up().
These 2 are not errors, but conscious choices => Therefore we
supress them
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
We can't invoke west's main as a subprocess, or control-C from GDB in
a 'west debug' will terminate the program. Import it and run main as a
function in the same process instead.
Clean up some cruft and remove unused code while we're here, to keep
this file shorter.
Signed-off-by: Marti Bolivar <marti@foundries.io>
The return of memcpy was being ignored just like memset's return. Just
adding it to coccinelle script.
MISRA-C rule 17.7
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Update menuconfig (and Kconfiglib, just to sync) to upstream revision
e629c33d31e22, to add the commit below.
menuconfig: Add show-help mode
Pressing F toggles show-help mode, where the help window at the bottom
displays the help text of the currently selected item, if any. Can be
handy when browsing through symbols.
Also mention the different modes that are available in the module
docstring.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
In order for check-compliance.py to be able to run cleanly out-of-tree,
set the repo (to be checked) path based on cwd, and refer to Zephyr and
its tools by the specific path set by ZEPHYR_BASE.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The original version of get_binding didn't handle the case of having a
child node on a SPI or I2C device node. The example is a SPI flash and
having a partition node under that.
Re-work the binding lookup logic to first look in the master bindings
dict, and if not found there we assume it must be in the bus specific
dictionary, and we can use the parent node to find the bus type.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>