I'm trying to port some code from FreeRTOS to Zephyr using a Nordic nRF52840. (I've used FreeRTOS for quite a while, but am a novice with Zephyr.)
I'm using k_poll() (in Zephyr) to implement the same functionality as xTaskNotifyWait (in FreeRTOS). I got this to work in one thread, but found that the code crashed (exception when executing k_poll()) in a second thread (with a different signal, etc.). This was while using Nordic NCS 1.4.0. It looked like something that was (bad) happening in Zephyr code, so I upgraded to NCS 1.4.1, then NCS 1.4.2 and neither would compile (due to a Macro expansion error (see below)). (Code compiles in 1.4.0, but not in 1.4.1 or 1.4.2)
So I tried the "latest" 1.4.99-dev" and the code compiles and the k_poll() issue appears to have been resolved.
However, a new issue appears. If I enable Floating Point in printk's (using CONFIG_CBPRINTF_FP_SUPPORT=y), printk statements cause an exception when executing "str_out". Is this a known issue?
I should clarify that the CONFIG_CBPRINTF_FP_SUPPORT is used to enable floating point for printf (and variants). I use it to sprintf() (using %f) to a string variable that is then printed as a string using printk().
But enabling CONFIG_CBPRINTF_FP_SUPPORT seems to affect printk() (even those that only print strings other places in the code)!
BTW, this CONFIG didn't seem to be necessary in NCS 1.4.0 (as sprintf handled floating point without the need for a CONFIG enable)
Thanks!