idf + cmake + sdkconfig + ninja
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug
#项目顶层Cmakelist.txt,main/Cmakelist.txt,src/Cmakelist.txt, moduledir/xxx.cmake
# ↓
# ↓
#生成build/* ,build/build.ninja ,build/compile_commands.json
cd build
ninja idf.py 的子命令
fullclean = /bin/rm ./build -rf
flash -p (ls /dev/*USB*).FullName
idf all = idf build (cmake + ninja)
set-target esp32s3 = new a sdkconfig form default + build dir
ls
sdkconfig.default.esp32s3 sdkconfig.default #才可以 准确 set-target esp32s3 ,没有sdkconfig.default 不会找 sdkconfig.default.esp32s3更多看
get-command *-cc
xtensa-esp32s3-elf-cc --help
xtensa-esp32s3-elf-cc --print-xxx
xtensa-esp32s3-elf-cc -v
Cmakelist.txt 不用动
main/Cmakelist.txt 的比较重要,clion include path 和函数跳转都会在这里找(有一些组件比如这里的bt需要在sdkconfig多做一些配置)
类似这样做
file(GLOB_RECURSE srcs "esp-BLE-touch-HID.c" "src/*.c")
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "./include/"
REQUIRES bt nvs_flash)板子程序写不进去
sudo chmod 666 /dev/ttyUSB0直接给权限,不用管太多了