Configuring for Zephyr events

I'm using Zephyr as packaged in NCS v2.0.2

I have a thread that is "event" driven.

My first implementation used "signals" (k_poll(), k_poll_signal_raise()) to trigger actions.   I found that I was "losing" some signal "raises".   I suspect that two different sources/threads were raising the same signal (but with a different value) "close enough in time" that one "raise" hid the other.    So only one trigger is seen, with its associated value.   The other is "lost".

So I thought I'd try using Zephyr events.  They appear to provide similar functionality, but there can be 32 (1-bit) values...    I made the appropriate code changes and added:

CONFIG_EVENTS=y     in prj.conf  (as stated in the documentation)

The following config statements are also included in debug.conf (as an extra .conf file included in the debug release build):

CONFIG_USE_SEGGER_RTT=y

CONFIG_THREAD_NAME=y

CONFIG_TRACING=y

CONFIG_TRACING_EVENT=y

CONFIG_SEGGER_SYSTEMVIEW=y

But when I try to build, I get the following errors:

Perhaps there is some other CONFIG_ that is needed?   I didn't see any examples in the zephyr/samples directory that show the proper setup/use of events.

Thanks!

(P.S.  I know this is a Zephyr issue, but thought I'd try here before trying to deal with Zephyr Discord!)

Update:

I commented out the CONFIG_TRACING and CONFIG_TRACING_EVENT statements and I can now build.    Not sure what I have lost w.r.t. SystemView yet.    Is there some other CONFIG_ that will clear up the above errors?

Update2:

While the application now compiles/builds and works correctly, I have lost the ability to use SystemView.    Systemview now reports that it can't find the SystemView buffer...

Related