pw_interrupt_freertos#
Experimental
This module implements a backend for pw_interrupt. It requires a port of
FreeRTOS that defines ullPortInterruptNesting. Usually, ports for ARM
A-profile processors will have this defined. For Cortex-M processors, use the
pw_interrupt_cortex_m backend.
Setup#
Add @pigweed//pw_interrupt_freertos:compatible to your
platform’s constraint_values and set the backend implementation flag
in your platform flags (or via the command line):
platform(
name = "my_platform",
constraint_values = [
# ...
"@pigweed//pw_interrupt_freertos:compatible",
],
flags = flags_from_dict({
# ...
"@pigweed//pw_interrupt:backend": "//pw_interrupt_freertos:impl",
}),
)
Set the pw_interrupt_CONTEXT_BACKEND build argument in your toolchain
or target configuration:
_target_config = {
# ...
pw_interrupt_CONTEXT_BACKEND = "$dir_pw_interrupt_freertos:context"
}
Call pw_set_backend to set the backend in your toolchain file or
top-level CMakeLists.txt:
pw_set_backend(pw_interrupt.context pw_interrupt_freertos.context)