w25qxx icon indicating copy to clipboard operation
w25qxx copied to clipboard

怎么在操作系统中使用这个驱动呢?

Open LNqueen opened this issue 1 year ago • 3 comments

Please ask your question

我之前在裸机中使用这个驱动库,运行的很完美,但是切换到操作系统后, 发现在读取flash的时候会影响整个操作系统的运行,比如造成其他任务下的信息发送卡顿,请问应该怎么解决呢?

Additional context

No response

LNqueen avatar Aug 20 '24 09:08 LNqueen

非常感谢您使用LibDriver提供的驱动,您从裸机切换到RTOS时,当存在多任务并发访问Flash时需要将读写等操作加互斥锁保护。因为芯片很多操作需要等待内部状态寄存器完成,您切换到RTOS时可以将驱动延时更换为RTOS延时,RTOS延时会释放系统控制权转而执行其他任务,大幅提高系统运行效率,使用此方法可以解决大部分卡顿问题。当您需要频繁或者大数量的读写时,可以考虑将SPI或者QSPI等驱动改成DMA传输,在等待DMA传输完成时,使用RTOS系统延时释放系统控制权执行其他任务或者直接使用信号量触发完成。

libdriver avatar Aug 22 '24 03:08 libdriver

目前是使用dma的时候触发不了中断,然后这个任务就一直卡在spi这边,但是奇怪的是我在另一个任务中单独使用spidma发送,是可以接收到中断的,不知道啥原因

LNqueen avatar Aug 22 '24 03:08 LNqueen

无法触发中断可能与整个工程系统各类外设优先级分配、DMA驱动等有关,您需要提供更加详细的SPI_DMA驱动等信息,我们会帮助您一起排查问题。

libdriver avatar Aug 22 '24 03:08 libdriver