DEVELOPMENT ROADMAP¶
CODE STRUCTURE¶
GENERIC ESP32 PROJECT STRUCTURE
- 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 TEMPLATE PROJECT STRUCTURE
- AIoTNode/
- .vscode/ (vscode configuration files, can be ignored)
- CMakeLists.txt (project-level cmake file)
- sdkconfig (project-level sdkconfig file, generated via idf.py menuconfig)
- sdkconfig.old (sdkconfig backup)
- partitions-16MiB.csv (16MiB flash partition table file)
- dependencies.lock (dependency library version lock file, automatically generated, please delete this file before the first run)
- 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 TEMPLATE PROJECT STRUCTURE
application
directory is for application layer codemiddleware
directory is for middleware codedriver
directory is for driver codemain
directory is for main function code
DEVELOPMENT SEQUENCE¶
Tip
For each component, ensure that its prerequisites are met before proceeding with subsequent development.
Assuming you have completed the project initialization work, it is recommended to develop each module in the following order:
- Execute > LED
- Main Control > External Interrupt
- Main Control > Timer
- Main Control > Real-Time Clock
- Main Control > Random Number Generator
- Main Control > SPI & Execute LCD
- Main Control > SPI & SD Card
- Communication > WIFI
- Communication > IOT
- Main Control > I2C
- Sensing > ADXL355
ADDITIONAL NOTES¶
Additional Notes
It is recommended to completely clear the build folder when flashing, and power cycle the development board before flashing.