1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境 硬件ART-PI STM32H750 测试 我对W25Q128使用MSH命令fal bench进行测试 改变频率测试 50MHz+轮询 100MHz+轮询 额,居然还是劣势…可能是驱动能力跟不上读写速度了? 改变驱动方式测试 50Mhz+DMA 100Mhz+DMA 测的第两次 对比没有DMA的话,在读取和擦除方面有提升 总结 啥方式对于写入的影响都不大,速度都是一样的. 问题 所以我测试的是否有问题? |
|
相关推荐
1个回答
|
|
你加入DMA后,感觉上没有什么提升呢。
原始的drv_spi.c的程序代码中,无论是否使用DMA,spixfer函数的部分内容如下: 其中,一大段注释后的等待信号量操作是我参考csdn的一篇blog添加的DMA处理。 从程序代码中可以看到,原版驱动对于DMA没有做处理,所以轮询也罢,DMA也罢,这段时间CPU都用来等数据传输完毕。在STM32F4 + ADC7616硬件平台,对spi驱动添加信号量处理后,性能会有明显提升。 我依稀记得当时的测试结果是,1ksps sample条件下,CPU使用率从78%降低到了21%。 static rt_uint32_t spixfer(struct rt_spi_device *device, struct rt_spi_message *message, rt_sem_t sem) { while (message_length) { /* For simplicity reasons, this example is just waiting till the end of the transfer, but application may perform other tasks while transfer operation is ongoing. */ while (HAL_SPI_GetState(spi_handle) != HAL_SPI_STATE_READY) { rt_sem_take(sem, RT_WAITING_FOREVER); } } } 当然,不仅仅是修改这个函数,对于spi驱动中的数据结构部分还要进行部分改动。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
590 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
2241 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1233 浏览 0 评论
1788 浏览 0 评论
1464 浏览 0 评论
74840 浏览 21 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 08:31 , Processed in 0.629735 second(s), Total 71, Slave 55 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号