Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


SPI Rx DMA with variable length data

Well, I believe I found a way to implement this...
I changed changed by CS pin to act as an external interrupt that triggers on the rising edge. I call my SPI DMA setup function as usual. Then when I receive the callback for this interrupt (ie CS has gone high), I call HAL_DMA_Stop(). The buffer I provided the DMA when setting it up now has my data in it.
I’m surprised no one else has had to deal with this before and that I couldn’t find any forums talking about it. I’ve tested it out with various sized buffers and everything appears to be working how I want. If anyone reading this, knows of a “gotcha” that I haven’t found yet, please let me know.