03 ESP-IDF-Directory Structure-Template Engineering Analysis Notes
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
使用ESP-IDF构建工程,需要遵循一定的规则,否则可能出现编写错误.乐鑫开源了大量的示例工程或者解决方案,可以直接复制修改:
Makefile应该放在项目根目录,该文件所在目录会被编译系统自动保存为==PROJECT_NAME==
sdkconfig由make menuconfig自动生成,同级目录还会自动生成sdkconfig.old、sdkconfig.defaults,用于恢复上一次设置或默认设置
components目录下可以不设置,构建系统会从IDF_PATH目录调用component源代码,如果将要使用到的component复制到项目目录.构建系统会使用当前目录下component,不影响IDF_PATH内源代码.
component1,component2为组件目录,里面包含组件源代码(官方封装库),其中==Kconfig==用于声明menuconfig的选项,通过界面交互修改组件的宏定义.==component.mk==用于配置组件的各种行为,具体可以参考:预设的组件变量
main目录放置工程主要源文件,该目录被官方定义为“伪组件”,和组件目录遵循相同的编译规则.
main目录和component目录都需要包含component.mk文件,哪怕是空的.如果文件为空,则组件的默认构建行为会被设置为:
当前目录的所有.c .cpp *.cc文件将参与编译
当前目录子目录“include”下的所有头文件,会被添加到全局搜索路径
与其他编译器不同,这里将使用最后搜索到的路径,如果工程内存在同名component,将覆盖ESP-IDF的源代码.