编码规范
板型差异通过
boards/<BOARD>/mpconfigboard.h与mpconfigboard.mk声明,主 Makefile 通过include $(BOARD_DIR)/mpconfigboard.mk组合 SDKCONFIG,避免修改核心构建逻辑。新增 C 层内置模块需在
mpconfigport.h的MICROPY_PORT_BUILTIN_MODULES宏中注册模块名到mp_obj_module_t映射,并在BUILTIN_C中加入源文件。驱动源码按功能分目录组织于
drivers/<device>/,并在Makefile中以DRIVERS_SRC_C += $(addprefix drivers/, ...)方式显式列出参与编译的文件。Python 扩展库统一放置在
file_system/下随 VFS 镜像打包,开机脚本file_system/main.py通过from mpython import oled访问板载资源,保持用户代码与底层实现解耦。音频子系统采用 Helix 与 libmad 双后端抽象,通过
decoder/helix_mp3_decoder.c与decoder/mad_mp3_decoder.c统一暴露给上层audio_player.c/url_codec.c。ESP-IDF 组件对象指针(如 mp3 解码结构体)通过
MPYTHON_PORT_ROOT_POINTER宏声明为全局根指针,确保 GC 能正确追踪这些跨 C/Python 边界的内存。