2026-04-09 8:00 PM - last edited on 2026-04-10 12:46 AM by Andrew Neil
We have successfully tested the ST67W6X Network Driver CLI example on a NUCLEO-U575ZI-Q with X-NUCLEO-67W61M1 development boards.
We would like to port the example to an STM32F746.
However, this is not simple due to the tight timing constraints required by the ST67W6x - e.g. the examples utilise the advanced SPI DMA available in the STM32U5xx family.
Searching the internet shows other developers noticing dropped data on other processors. There are also reports that the following requirements must be met:
Do you have an example port for the STM32F746? Or at least on a processor with similar limited DMA capabilities?
Solved! Go to Solution.
2026-04-10 12:27 AM
The attached project works well on the F746 Nucleo board. In general, it is still a simple SPI protocol, advanced DMA is not needed. It even works without DMA, if the processor is free to manage the transfers.
Can you point out the some of the messages / sites which show the issues which you mentioned?
"
Searching the internet shows other developers noticing dropped data on other processors. There are also reports that the following requirements must be met:
"
2026-04-10 12:27 AM
The attached project works well on the F746 Nucleo board. In general, it is still a simple SPI protocol, advanced DMA is not needed. It even works without DMA, if the processor is free to manage the transfers.
Can you point out the some of the messages / sites which show the issues which you mentioned?
"
Searching the internet shows other developers noticing dropped data on other processors. There are also reports that the following requirements must be met:
"
2026-04-19 10:58 PM
I am trying to port this to the STM32F746G-DISCO. To do this, I had to redefine the pins in CubeMX and add X-CUBE-ST67W61.
When I compile in CubeIDE, __get_IPSR() is undefined. I notice in your example the check for tskKERNEL_VERSION_MAJOR is missing.
There are 3 sections like below in spi_iface.c:
#if ((tskKERNEL_VERSION_MAJOR > 10) || ((tskKERNEL_VERSION_MAJOR == 10) && (tskKERNEL_VERSION_MINOR >= 6)))
if (xPortIsInsideInterrupt())
#else
if (__get_IPSR() != 0U)
#endif /* tskKERNEL_VERSION_MAJOR */
2026-04-20 4:45 PM
For those of you trying to get this going on the STM32F746G-DISCO with X-NUCLEO-67W61M1:
Import the generated code into CubeIDE
Unfortunately, the code needs to be modified to compile.
appli/App/app_config.h
/* USER CODE BEGIN 2 */
MX_SPI2_Init();
MX_USART6_UART_Init();
/* USER CODE END 2 *///#if ((tskKERNEL_VERSION_MAJOR > 10) || ((tskKERNEL_VERSION_MAJOR == 10) && (tskKERNEL_VERSION_MINOR >= 6)))
if (xPortIsInsideInterrupt())
//#else
// if (__get_IPSR() != 0U)
//#endif /* tskKERNEL_VERSION_MAJOR */