文章目录
MicroPython 执行过程
在上一讲 ESP32 MicroPython开发之旅 基础篇① ——搭建环境,运行Helloworld 中,最后我们往ESP32的MicroPython环境中扔进去了一个main.py
文件,并且成功运行起来。但是留了一个疑问?
里面是如何运转起来?
接下来就跟着我的脚步去慢慢分解里面的知识点。
1. MicroPython ESP32文件系统
我们编写的程序可以直接在Python Shell
交互环境直接进行,
也可以把Python代码保存到.py文件中,通过文件执行代码。
MicroPython的固件会在ESP32 板子的flash空间创建一个文件系统,用来存放文件。那么可能有几个疑问?
- 我如何查看文件系统有多大空间?
- 我如何查看当前占用了多大空间?
- 我如何知道里面已经存放了多少文件?
- 我是否可以手动添加、修改或者删除文件?
带着这些问题,我们来一一解答。
1.1 我如何查看文件系统有多大空间?
选择存储空间
可以看到总共空间大小是 2MB
1.2 我如何查看当前占用了多大空间?
用户使用了 12.0KB。如果需要更加精确的数据。可以看:
1.3 我如何知道里面已经存放了多少文件?
也可以设置:打开 视图->文件
(这个选项建议打开,非常方便)
1.4 我是否可以手动添加、修改或者删除文件?
- 添加
创建
一个新文件,点击保存
或者运行
,选择MicroPython设备
即可
- 删除
找到具体文件,右键菜单,选择删除
到这里,大体文件系统讲解完毕。可能会有人有疑问?
那么支持文件夹吗?
当然支持,根据我这个思路去找一下相应的菜单就可以了。
2. 文件执行过程
我们首次往ESP32安装完MicroPython固件的时候,默认是只有一个 boot.py
文件,当系统启动完成之后会先运行该文件的内容。紧接着会运行main.py
文件(没有该文件就忽略它跳过去)。在之后就是进入 Python Shell
调试模式。
那么这里会延伸出几个知识点:
- 如果我们写的代码没有命名为 main.py,那么意味着系统启动的时候
不会自动执行我们写的代码; - 如果我在main.py里面写了一个死循环,那么意味着无法后续进入Python Shell界面;
2.1 boot.py —— 启动引导文件
该文件一般用于运行一些系统层面开机时需要启动的功能,一般不推推荐用户修改。
2.2 main.py —— 用户代码入口(重点内容)
- 如何验证会默认启动这个文件?
建立main.py
文件,将它上传到开发板,然后按下开发板上复位按钮。可以看到系统复位后 main.py 文件中的内容被执行。
- 在
main.py
文件中写个死循环
,会导致进不了Python Shell模式
只有
重新烧写MicroPython固件
才能恢复(或者死循环的程序中有文件系统读写的功能)。
- 如果你不需要Shell模式,可以这么干。。。。
2.3 shell —— 调试窗口
- 查看运行过程中的数据
- 可以在上面编写 Python代码
- 也可以执行一些Python命令,比如Help,这是非常有用的命令。
关于这点,慢慢去感受吧