现在发现一个棘手的问题,当ftp服务器在传输文件时,log文件不断更新,等一段时间后log线程会死掉,msgqueue也会堆满32个msg。
发现出问题时log 线程会一直占用fs,导致ftp服务器无法访问fs。
问题可能是由于在fs层和sdcard层都用了 mutex,在单一线程中使用两次mutex可能导致了这个问题。
还有一个可能是:在sdcard读写时被外部ethernet中断,这时sdcard和ethernet 发生了冲突。(可能和dma有关系)
在sdcard的device层要用rt_enter_critical()锁住读写操作,
在fs 的components层用mutex锁住文件系统,
这样就可以解决问题
后续需要继续研究一下,找出根本原因、