标签:uos __ 内置 4096 -- statvfs Flash 1.18 os
1.18.1. 基础知识
Esp32-wroom模组默认内置4M flash,其中2M开放给非特权用户( unprivileged users),足以应付大多数嵌入式使用场景。
1.18.2. 程序设计
如上节所讲,ESP32-WROOM内置的4Mflash中2M用作“硬盘”,故不存在启用内置flash的说法。
查询flash的状态,可以通过os模块或uos模块进行(实际上都是uos,之所以设置个os模块是为了兼容python),示例代码如下:
>>> import os
>>> help(os)
object <module 'uos'> is of type module
__name__ -- uos
uname -- <function>
urandom -- <function>
dupterm -- <function>
dupterm_notify -- <function>
ilistdir -- <function>
listdir -- <function>
mkdir -- <function>
rmdir -- <function>
chdir -- <function>
getcwd -- <function>
remove -- <function>
rename -- <function>
stat -- <function>
statvfs -- <function>
mount -- <function>
umount -- <function>
VfsFat -- <class 'VfsFat'>
VfsLfs2 -- <class 'VfsLfs2'>
>>> os.stat("/")
(16384, 0, 0, 0, 0, 0, 0, 0, 0, 0)
>>> os.statvfs("/")
(4096, 4096, 512, 508, 508, 0, 0, 0, 0, 255)
>>> import uos
>>> help(uos)
object <module 'uos'> is of type module
__name__ -- uos
uname -- <function>
urandom -- <function>
dupterm -- <function>
dupterm_notify -- <function>
ilistdir -- <function>
listdir -- <function>
mkdir -- <function>
rmdir -- <function>
chdir -- <function>
getcwd -- <function>
remove -- <function>
rename -- <function>
stat -- <function>
statvfs -- <function>
mount -- <function>
umount -- <function>
VfsFat -- <class 'VfsFat'>
VfsLfs2 -- <class 'VfsLfs2'>
>>> uos.statvfs("/")
(4096, 4096, 512, 508, 508, 0, 0, 0, 0, 255)
下图是摘自micropython官网文档os模块/uos模块的说明,Statvfs()函数的返回值,依次如下:
其中f_blocks*f_bsize就是“硬盘”大小,如示例代码中所示:f_bsize=4096=4k,f_blocks=512,总空间=4x512k=2048k=2M,可用空间=f_bfree*f_blocks=504x4k=2016k≈1.97M。
标签:uos,__,内置,4096,--,statvfs,Flash,1.18,os 来源: https://www.cnblogs.com/horal/p/16514126.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。