Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.04 KB

sparse.rst

File metadata and controls

26 lines (20 loc) · 1.04 KB

Sparse support

Sparse 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 -DZEPHYR_SCA_VARIANT=sparse parameter, e.g.

west build -d hello -b intel_adsp_cavs25 zephyr/samples/hello_world -- -DZEPHYR_SCA_VARIANT=sparse