2024-04-13 3:54 AM
Hi, I am encountering some issues while trying to configure the ADC DMA Buffer on the STM32MP135 board , when I execute the following:
echo 1000 > /sys/bus/iio/devices/iio:device1/buffer/length
echo 1 > /sys/bus/iio/devices/iio:device1/scan_elements/in_voltage0_en
echo 1 > /sys/bus/iio/devices/iio:device1/buffer/enable
I receive the following error after the third command:
sh: write error: Invalid argumet
But when reading the ADC's raw output directly via:
cat /sys/bus/iio/devices/iio:device1/in_voltage0_raw
I am able to obtain a normal reading, which suggests that the basic functionality of the ADC is intact.
Operating System: 5.15.24 #1 PREEMPT Sat Apr 13 15:11:38 CST 2024 armv7l GNU/Linux
2024-04-15 11:51 PM
I have used the TIM trigger to operate the ADC in triggered buffer mode successfully.
However, the issue arises when I set the trigger frequency to high values, such as 1MHz.
cd /sys/bus/iio/devices/trigger0
echo 1000000 > sampling_frequency
I've noticed that the CPU usage spikes significantly, even the activation of RT Throttling and occurrences of RCU stalls.
I wonder if there are better ways to optimize this issue when using ADC buffer mode. How to use ADC continuous conversion mode without intervention from the CPU?
Thanks
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.