zephyr_dt_inputs_outputs.svg still shows the output from dtc being used,
but dtc is unused (except for finding warnings/errors) after the old
devicetree scripts were removed in commit c8c35f76ab ("scripts: dts:
Remove deprecated extract_dts_includes.py script").
Update zephyr_dt_inputs_outputs.svg to show how things are done now.
Also include the new zephyr.dts debugging aid in it. Tweak the
formatting a bit too.
Add zephyr.dts to the diagram in the build overview section too, and
mention zephyr.dts in the text of the devicetree and build overview
pages.
Remove zephyr_dt_inputs_outputs.png and use zephyr_dt_inputs_outputs.svg
directly. Many other places the documentation include SVGs directly, and
there haven't been any complaints, so it probably works fine. The .png
and .svg versions had also drifted out of sync.
Piggyback a link from the devicetree page to the build overview page, to
make it easier to discover.
(I used draw.io to update the diagrams.)
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Diagram and text improvements:
- Redraw the configuration phase diagram to better reflect the actual
logic. Remove some misleading arrows, like from devicetree.h to
Kconfig. Kconfig uses the devicetree scripts directly.
- After the old devicetree scripts were removed in commit c8c35f76ab
("scripts: dts: Remove deprecated extract_dts_includes.py script"),
the dtc compiler is only run to catch any high-level warnings and
errors from it. The output is unused.
Update the diagram and descriptions to explain how dtc is used.
- Mention kconfigfunctions.py and explain better how devicetree and
Kconfig interact
- Clarify that 'cpp' is the C preprocessor. People often confuse it
with C++.
- Fix a typo'd devicetree_fixups.h in the text
- Use the :file: role for files instead of italic text
- Add links to the devicetree and Kconfig sections of the manual, and
use the :zephyr_file: role to turn more files into direct links
- Make the text generic re. Make vs. Ninja
- Lots of other minor tweaks and clarifications
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
generated_dts_board.h is pretty redundant and confusing as a name. Call
it devicetree.h instead.
dts.h would be another option, but DTS stands for "devicetree source"
and is the source code format, so it's a bit confusing too.
The replacement was done by grepping for 'generated_dts_board' and
'GENERATED_DTS_BOARD'.
Two build diagram and input-output SVG files were updated as well, along
with misc. documentation.
hal_ti, mcuboot, and ci-tools updates are included too, in the west.yml
update.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
Unused after the old devicescript were removed in commit c8c35f76ab
("scripts: dts: Remove deprecated extract_dts_includes.py script"). The
old scripts relied on parsing the output of 'dts -Odts', which replaces
e.g. phandle references. The new scripts parse the DTS files directly.
Keep running the dtc compiler just to catch any warnings/errors from it.
The edit to doc/guides/build/build-config-phase.svg is to remove the box
with '*.dts_compiled' in it (and the arrows to/from it). https://draw.io
can be used to edit it.
Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
A detailed overview of Zephyr's build system. This is a
thorough view of the low level build process starting from CMake and
using Make as the build system tool. Things missing here that will be
further documented:
- west
- external modules/libraries
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>