代码框架结构

目录简介

目录 子目录 子目录2 子目录3 内容梗概
assets 资源文件
projects 工程文件, 每个文件夹一个工程
tools 工具
components 组件
└-boards 板级代码
└-drivers 驱动
└-micropython micropython 相关代码
└-core micropython 源码
└-port maixpy 自定义部分源码
└-builtin_py maixpy 默认内置类
└-include 移植部分头文件
└-src 功能模块源码
└-spiffs SPIFFS 文件系统
└-utils 工具类(函数)

现在的代码因为历史遗留原因在 components/micropython/port/src 目录下代码结构不是很好,以后的代码尽量按照现在的框架做到层次分明

添加代码

工程使用 CMake 进行组织, 并且工程支持多个可配置选项(Kconfig

  • 如果不添加文件夹和配置项,可以在现有的文件夹内添加文件编译即可
  • 如果需要添加模块,可以修改 CMakeLists.txt 来添加内容, 可以参考内容更少的c_cpp_project_framework
  • 如果需要添加配置项, 可以通过修改 Kconfig 文件来达到目的,所有配置项在编译时会生成宏定义添加到global_config.h(生成的文件)中去, 而且在 CmakeLists.txt 文件中都可以使用该宏定义。

比如在 Kconfig 中定义 config BOARD_M5STICK, 在 CMakeLists.txt 中可以通过判断CONFIG_BOARD_M5STICK 是否为真来决定是否编译特定的代码。 编译时就可以通过python3 project.py menuconfig来选择是否勾选了