访问block设备的文件 和随机访问大数据是两回事. IDF和Micropython又是两回事.你考虑一个有个文件 比RAM还大 没有编在固件里 没有给编译器RO段信息 即使在IDF里面 运行时才想去...
对于挂载在外部flash的文件,其实从底层角度上看,是通过SPI或者QSPI的形式对数据进行读取的
也就是是说,在编译器的内存映射,最后调用的也是flash_wr_block/page/sector or Bytes()
所以即使是随机访问,也可以很轻松越过文件系统,不需要通过fs.on 后seek的方法
而是直接调用SPI外设,采用addr+x 相对偏移地址轻松访问储存在flash中的某一个字节
MicroPyhton里用指针地址访问,还是调用了这个方式,所以在IDF或者Arduino中依然可以用我说的这种方法随机访问
访问特定的块对QSPI 给flash发送24bits地址后,送N个edge的时钟,就能获得N*Bytes的数据块(这是最底层时序)
如果用DMA搬运的方式,理论上块获取效率可以等效于QSPI的时钟速度 Tsummary=Nbofbytes*Tclk