428浏览
查看: 428|回复: 0

[官方教程] 【进阶开发】源码目录结构

[复制链接]
本帖最后由 猪百岁 于 2021-4-23 10:48 编辑

代码框架结构

1. 目录简介

目录 子目录 子目录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  目录下代码结构不是很好,以后的代码尽量按照现在的框架做到层次分明

2. 添加代码

工程使用  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来选择是否勾选了

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail