代码框架结构
目录简介
| 目录 | 子目录 | 子目录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来选择是否勾选了
