10 RTT-Micropython 运行程序大小问题

发布于 2021-02-04 11:26:35

1.目前根据已有官方指导示例基于RTT进行移植Micropython固件至APM32F103RET6(512Kflash,64KRAM)上,简短的程序(40行内)可以正常上传或直接执行,超过50行直接运行会报这个错:MemoryError: memory allocation failed, allocating 559 bytes 同步文件会报同步失败,请尝试重启后再运行文件。目前micropython给的是21k运行空间(开始给的20k,报MemoryError: memory allocation failed, allocating 559 bytes 这个错后加大1k看了下不是这个大小的问题);main的堆栈给的是8k,用的虚拟文件系统是基于fal 和littlefs。
2.官方文档上说RT-Thread MicroPython mini 版本占用资源最大不超过:

ROM : 190KB
RAM : 20KB

请问这个mini版如何进行裁剪呢,我目前在开启了优化编译的情况下编译的文件大小为350k左右。

请帮忙找下原因啊,等我把所有问题解决了,会写一个详细的移植教程回馈论坛的@我夏了夏天 @armink

查看更多

关注者
1
被浏览
293
2 个回答
我夏了夏天
我夏了夏天 认证专家 2021-02-04

只用最基本原生模块的话是比较小的,加了很多功能模块之后就大起来了,另外 ram 不够是因为同步文件也是用执行 mpy 代码片段来实现的,每个对象都要申请内存,所以同步文件对内存要求比较大一些,64k RAM 不是很宽裕。

Jeremy
Jeremy 2021-02-04

现在编译文件350多K,我还能接受,后面会扩一个spi flash,通过free看了下还有大概10K的RAM未分配,整体已使用的才占1/5大概,剩余的这个需分配出去给某个功能嘛,无法正常同步大文件及执行就很难受了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览