We are testing BF518F EZ board.
The function we want to achieve is to acquire ADC data at 1kHz continuously (we are using the AD7266 on the evaluation board for now).
The DSP will perform other tasks as well (the one we are testing is to communicate to host through Ethernet randomly).
We created two tasks using OSTaskCreate, one for the ADC acquisition, the other for other tasks including the Ethernet communication.
In the ADC task, we have a continuous running 1ms timer using OSTimeDly, then read the data every 1ms.
The ADC acquisition runs OK by itself.
However, if the host sends Ethernet communication to the DSP, the ADC acquisition will be paused for some time (~6ms).
How can we eliminate the pause?
Should we use other methods to generate the timer? Or there are some settings we should change?
Are you using UCOS? I am not an expert in this.
Do you mean to say the it takes 6ms for host to send Ethernet communication to the DSP? Is there any possibility to reduce this timing which doesn't affect the timer's 1ms to operation do the data acquisition.
Probably the way we were doing it is not good.
So we are changing it based on the SPI examples.
One more question about the SPI DMA mode.
According to the post I found, the blackfin DSP does not fully support SPI DMA mode.
Should we just not try to implement DMA mode?
What's the disadvantage if not implementing the DMA mode, or the pooling method mentioned in the post?
There won't be any problem with the bare metal code programming the SPI DMA mode.