如何在自己的esp idf工程中添加ADF?
如何在自己的esp idf工程中添加ADF?
如何在现有的idf工程中添加ADF的库,并使用ADF的api。板子不是官方的开发板,不使用ADF的官方例程能不能直接添加ADF
-
- Posts: 40
- Joined: Wed Jun 22, 2022 12:10 pm
Re: 如何在自己的esp idf工程中添加ADF?
在example的CMakeLists.txt中添加ADF的components的路径就可以用ADF了
cmake_minimum_required(VERSION 3.5)
include($ENV{ADF_PATH}/CMakeLists.txt) 添加这一行
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(bt_source_demo)
在编译前指定ADF_PATH
export ADF_PATH=.../esp-adf-internal
cmake_minimum_required(VERSION 3.5)
include($ENV{ADF_PATH}/CMakeLists.txt) 添加这一行
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(bt_source_demo)
在编译前指定ADF_PATH
export ADF_PATH=.../esp-adf-internal
Re: 如何在自己的esp idf工程中添加ADF?
好像不行啊,明明路径是正确的,但是就是有问题啊,哥们
Re: 如何在自己的esp idf工程中添加ADF?
哥,我正确指定了,
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
include($ENV{ADF_PATH}/CMakeLists.txt)
set(EXTRA_COMPONENT_DIRS
../../components
#$ENV{ADF_PATH}/components # ADF组件的路径
$ENV{IDF_PATH}/examples/common_components/protocol_examples_common # IDF的公共组
其中:ADF_PATH 已经是全局变量,没有任何问题,但是依然不能使用其中的任何组件或者库函数,我尝试:list(APPEND EXTRA_COMPONENT_DIRS
$ENV{ADF_PATH}/components
)
但是编译后组价报错,某些函数报错,idf v5.1 ,adf 最新版,所以有世道的吗?
cmake_minimum_required(VERSION 3.5)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
include($ENV{ADF_PATH}/CMakeLists.txt)
set(EXTRA_COMPONENT_DIRS
../../components
#$ENV{ADF_PATH}/components # ADF组件的路径
$ENV{IDF_PATH}/examples/common_components/protocol_examples_common # IDF的公共组
其中:ADF_PATH 已经是全局变量,没有任何问题,但是依然不能使用其中的任何组件或者库函数,我尝试:list(APPEND EXTRA_COMPONENT_DIRS
$ENV{ADF_PATH}/components
)
但是编译后组价报错,某些函数报错,idf v5.1 ,adf 最新版,所以有世道的吗?
-
- Posts: 135
- Joined: Tue Apr 24, 2018 5:54 am
Re: 如何在自己的esp idf工程中添加ADF?
您好,
可以参考 ADF 的 example 修改您的工程根目录下的 CMakeLists.txt,如下
注意事项:
1. 请检查包含了正确的头文件
2. ADF_PATH 和 IDF 环境已正确生效
3. 若出现 HINT: You are maybe using pre FreeRTOS V8.0.0 data types. The backward compatibility of such data types is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such data types. 提示,请修改 menuconfig 配置:Component config → FreeRTOS → Kernel → 使能 configENABLE_BACKWARD_COMPATIBILITY
若还是无法解决,请提供完整 log 和测试工程。
可以参考 ADF 的 example 修改您的工程根目录下的 CMakeLists.txt,如下
Code: Select all
cmake_minimum_required(VERSION 3.5)
include($ENV{ADF_PATH}/CMakeLists.txt)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(your_project)
1. 请检查包含了正确的头文件
2. ADF_PATH 和 IDF 环境已正确生效
3. 若出现 HINT: You are maybe using pre FreeRTOS V8.0.0 data types. The backward compatibility of such data types is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such data types. 提示,请修改 menuconfig 配置:Component config → FreeRTOS → Kernel → 使能 configENABLE_BACKWARD_COMPATIBILITY
若还是无法解决,请提供完整 log 和测试工程。
Re: 如何在自己的esp idf工程中添加ADF?
感谢大佬的耐心回复,我在仔细检查后发现,在esp idf 终端中是无法正确解析出echo %ADF_PATH% 路径的,即:(idf terminal)ps:echo %ADF_PATH%,输出:%ADF_PATH%,可见esp idf 的终端并没有正确解析出%ADF_PATH%的路径,但在系统cmd 中去却能正确解析%ADF_PATH%的源路径。然后我仔细观察了能正确编译的实例项目的各种文件,如顶层文件cmakelist中,的确如您所说的:include($ENV{ADF_PATH}/CMakeLists.txt)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
即可正确编译,但是项目的其他部分并没什么不同,但在我普通的项目修改改步骤时并没有发挥作用,在应用adf compont 中的库函数依然是找不到路径的,随后我认真观察了我编译过程中项目并没有将include($ENV{ADF_PATH}/CMakeLists.txt) 中的组件添加,
编译过程如下所示,的确没有编译相关adf组件,
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
即可正确编译,但是项目的其他部分并没什么不同,但在我普通的项目修改改步骤时并没有发挥作用,在应用adf compont 中的库函数依然是找不到路径的,随后我认真观察了我编译过程中项目并没有将include($ENV{ADF_PATH}/CMakeLists.txt) 中的组件添加,
编译过程如下所示,的确没有编译相关adf组件,
- Attachments
-
- test.txt
- (68.88 KiB) Downloaded 533 times
Who is online
Users browsing this forum: No registered users and 70 guests