Development Issues When Using the nRFx Library in Zephyr

HI,

I am currently developing with nRF54L15 and SDK 3.0.0. I have encountered some issues:
1. Problems using the nrfx library in Zephyr
I have defined the configuration information of the SPIM30 node in the devicetree. According to the Zephyr manual, this configuration is initialized before running the application. Therefore, I directly obtained the instance of spim30 in the program and used the nrfx spim library to send data. However, I found that the originally set 8M in devicetree was actually only 1M, and the CS pin output level was supposed to be high after transmission but remained low. But when I directly used the Zephyr spi API, there was no problem. The nrfx is shown in the following figure. Why is this happening?How to deal with this problem?


2. I have used nrfx in Zephyr and set CONFIG_DEVICE_PM_RUNTIME. Does it have no effect?
3. In my program, I am using grtc + dppi + spim, all of which are using nrfx library functions. How should the power management of spim be handled? Since I am using the nrfx library and only using dppi to trigger?

Thanks!

Parents Reply
  • I was originally developing the SPI using Zephyr's APIs, but found that using a k_timer to trigger SPI data transmission every 1 second resulted in a power consumption of about 29 μA. I want to directly use the GRTC to trigger the SPIM via DPPI for data acquisition to reduce CPU power consumption. However, since the program uses the DPPI+SPIM approach, could Zephyr's power management shut down these operations during sleep? If it could, how can I ensure that the DPPI+SPIM operations remain active while also allowing the peripherals to enter low power mode after each operation?

Children
  • I was originally developing the SPI using Zephyr's APIs, but found that using a k_timer to trigger SPI data transmission every 1 second resulted in a power consumption of about 29 μA.

    I don't think you will see much improvement considering the long interval between your transactions. Did you confirm that the added current was because of the CPU, and not leakage, current draw by the SPI slave, etc.?

    could Zephyr's power management shut down these operations during sleep?

    No.

Related