请教: 两个不同软件同时持续性访问u盘,有一方会出错

刚接触固件,在线提问,最近遇到了一个问题,之前没有接触过嵌入式,对固件也不是很懂,请求指教!

  • 前提: 一个加密u盘,一个加密软件

  • 问题: 在往u盘中拷贝文件的同时,进行加密操作,加密软件加密文件会出错

  • 提问: 是不是两个功能同时使用一个u盘固件,发送命令包时相撞出现内存覆盖?
    且加密出错概率更大,是因为拷贝访问速度更快吗?

我不太懂u盘处理命令包的方式,cbw包是什么时候解析的?

main函数中循环判断是否有数据要处理,有的话调用usb函数。
如果有数据要处理,ep1标志置1,
在usb函数中判断ep1标志,为1则处理scsi命令,处理完之后置0。

我只看懂了这些代码……查找资料也只是书本化的知识,真心请教,给条明路🙏🏻

要看你是通过哪种方式访问,如果是通过文件系统的应用层接口访问,应该不会,如果是底层读写,如果两个软件之间没有协调,那肯定会。

加密软件是对整个U盘加密还是对U盘里的某个文件加密
整个加密的话必定报错,很明显的逻辑冲突,操作系统还没拷完文件,如果强行加密,加密后操作系统继续按原计划写入数据,会导致整个U盘数据崩溃
单个文件加密的话,加密软件可以从软件上调整这个问题