zephyr/doc/develop/test/sparse.rst
Stephanos Ioannidis 97efbec18b doc: test: Update link to Sparse documentation
Update the Sparse documentation to refer to the official Sparse
documentation instead of some random link, which no longeer works.

It also fixes an incorrect inline literal usage.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-09-29 12:20:14 +02:00

27 lines
1.0 KiB
ReStructuredText

.. _sparse:
Sparse support
##############
`Sparse <https://www.kernel.org/doc/html/latest/dev-tools/sparse.html>`__
is a static code analysis tool.
Apart from performing common code analysis tasks it also supports an
``address_space`` attribute, which allows introduction of distinct address
spaces in C code with subsequent verification that pointers to different
address spaces do not get confused. Additionally it supports a ``force``
attribute which should be used to cast pointers between different address
spaces. At the moment Zephyr introduces a single custom address space
``__cache`` used to identify pointers from the cached address range on the
Xtensa architecture. This helps identify cases where cached and uncached
addresses are confused.
Running with sparse
*******************
To run a sparse verification build :ref:`west build <west-building>` should be
called with a ``-DSPARSE=y`` parameter, e.g.
.. code-block:: shell
west build -d hello -b intel_adsp_cavs25 zephyr/samples/hello_world -- -DSPARSE=y