MicroPython 内存管理与直接内存访问
1. MicroPython 内存管理
1.1 避免内存故障的方法
1.1.1 使用冻结字节码
使用冻结字节码是避免内存故障的第一种方法。在这种方法中,代码中要使用的模块会与 MicroPython 一起编译,从而成为要嵌入微控制器闪存的 MicroPython 固件的一部分。
1.1.2 预编译脚本
预编译 Python 脚本为字节码并创建单独的 “.mpy” 文件是避免内存故障的第二种方法。这些文件可以嵌入微控制器闪存中。
1.2 代码执行期间的有效 RAM 使用
MicroPython 代码编译完成并开始执行字节码后,就需要使用 RAM。由于 RAM 空间有限,因此必须关注有效(或最小化)的 RAM 使用。MicroPython 提供了几种方法来实现这一操作:
1.2.1 常量使用
可以通过 const() 函数来减少 RAM 使用。该函数的工作方式与 C 语言中的 define 语句类似。在 MicroPython 中定义变量时,变量及其所需的字节码都会存储在 RAM 中。而使用 const() 函数时,仅变量的值会存储在 RAM 中,并在代码执行期间直接使用。这样,编译器会直接使用常量的值,从而节省字节码,也就意味着使用更少的 RAM 空间。示例代码如下:
from micropython import const
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



