开发路线图¶
代码架构¶
一般意义上的 ESP32 项目结构
- myProject/
- CMakeLists.txt
- sdkconfig
- components/ - component1/ - CMakeLists.txt
- Kconfig
- src1.c
- component2/ - CMakeLists.txt
- Kconfig
- src1.c
- include/ - component2.h
- main/ - CMakeLists.txt
- src1.c
- src2.c
- build/
AIoTNode 模板项目结构
- AIoTNode/
- .vscode/ (vscode 设置文件,可以忽略)
- CMakeLists.txt (项目级 cmake 文件)
- sdkconfig (项目级 sdkconfig 文件,通过 idf.py menuconfig 生成)
- sdkconfig.old (sdkconfig 备份)
- partitions-16MiB.csv (16MiB flash 调整的分区表文件)
- dependencies.lock (依赖库版本锁定文件,自动生成,首次运行前请删除此文件)
- application/ - component1/ - CMakeLists.txt
- Kconfig
- src1.c
- component2/ - CMakeLists.txt
- Kconfig
- src1.c
- include/ - component2.h
- middleware/ - component1/ - CMakeLists.txt
- Kconfig
- src1.c
- component2/ - CMakeLists.txt
- Kconfig
- src1.c
- include/ - component2.h
- driver/ - component1/ - CMakeLists.txt
- Kconfig
- src1.c
- component2/ - CMakeLists.txt
- Kconfig
- src1.c
- include/ - component2.h
- main/ - CMakeLists.txt
- src1.c
- src2.c
- build/
AIoTNode 模板项目结构
application
目录下放置应用层代码middleware
目录下放置中间件代码driver
目录下放置驱动代码main
目录下放置主函数代码
本项目开发顺序¶
Tip
对于每个组件,需要保证其前置条件已经满足,才能进行后续的开发。
假定您已完成项目初始化工作,建议按照以下顺序进行各个模块的开发:
- 执行>LED
- 主控>外部中断
- 主控>定时器
- 主控>实时时钟
- 主控>随机数发生器
- 主控>SPI & 执行 LCD
- 主控>SPI & SD 卡
- 通信>WIFI
- 通信>IOT
- 主控>I2C
- 感知>ADXL355
额外说明¶
额外说明
建议烧录的时候,彻底清空build文件夹,开发板重新上电后烧录。