在ubuntu平台下:
创建工程
1、首先需要修改最外层CMakeLists.txt和main文件夹中的CMakeLists.txt文件,若有自定义组件,可以同样放到main文件夹中或者新建components文件夹。每个components文件夹中的自定义组件都需要一个CMakeLists.txt文件来注明组件文件、组件依赖并注册组件。
例如:
(最外层CMakeLists:cmake最低版本 组件路径 cmak路径和项目名)
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
# 该项目所需组件
set(EXTRA_COMPONENT_DIRS /components)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(esp_eye)
(main中的CMakeLists:源文件列表 .h文件路径 依赖组件列表等,最后注册组件)
# main文件夹为伪组件,包含项目本身源代码
#当前组件所包含的源文件
set(COMPONENT_SRCS "esp_eye_main.c")
#当前组件所包含的.h文件
#set(COMPONENT_ADD_INCLUDEDIRS "include")
#当前组件的依赖组件
set(COMPONENT_REQUIRES
esp_common
esp32-camera
nvs_flash
esp_http_server
fb_gfx
mdns
)
#嵌入二进制文件,该文件不会被格式化为c源文件,当前为压缩网页文件
set(COMPONENT_EMBED_FILES
"html/index_ov2640.html.gz"
)
#注册该组件
register_component()
(组件内CMakeLists内容与main中相似,参照官方组件)
2、之后在app_main.c文件中创建主函数void app_main();
3、若想再menuconfig中添加设置项,可创建文件Kconfig.projbuild 语法格式参照官方例程
常用指令
清除所有build文件
idf.py fullclean
项目配置
idf.py menuconfig
编译
idf.py build
烧写
/dev/ttyUSB0为外设地址与串口号
idf.py -p /dev/ttyUSB0 flash
(直接输入idf.py回车可以显示所有指令和说明)
menuconfig 常用设置内容
可以设置flash大小,速率,链接模式
可以设置flash分配表
可以设置FreeRTOS的系统节拍
可以设置FreeRTOS只运行在CPU的核心1上(双核版本esp32)
可以设置WIFI功能的运行核心(双核版本esp32)
可以设置WIFI速率等基础参数
(高级应用可以自添加设置项)