这题我正好测试过,请楼主确定几个点:
SPI 轮训是正常的
SPI 请使用 DMA1 或者 DMA2
SPI 会使用到 rt_malloc , heap 确保是 AXI SRAM
MPU 配置的 cache 策略
drv_spi.c 中在开启 DMA 之后,对应的 SPI 外设中断是否开启了.
如果 SPI 轮训是正常的,请使用 DMA1 或者 DMA2.
因为 DMA1 DMA2 无法访问到 TCM,如果确保 rt_malloc 是从 AXI SRAM 申请的内存.
cache这里,如果你参考的 ART-Pi 或者 STM32H743-ATK-APLLO 那么这里就不需要修改.
检查是否对用的 外设中断函数是否有.
这题我正好测试过,请楼主确定几个点:
SPI 轮训是正常的
SPI 请使用 DMA1 或者 DMA2
SPI 会使用到 rt_malloc , heap 确保是 AXI SRAM
MPU 配置的 cache 策略
drv_spi.c 中在开启 DMA 之后,对应的 SPI 外设中断是否开启了.
如果 SPI 轮训是正常的,请使用 DMA1 或者 DMA2.
因为 DMA1 DMA2 无法访问到 TCM,如果确保 rt_malloc 是从 AXI SRAM 申请的内存.
cache这里,如果你参考的 ART-Pi 或者 STM32H743-ATK-APLLO 那么这里就不需要修改.
检查是否对用的 外设中断函数是否有.
举报