Page 1 of 1

如何在自己的esp idf工程中添加ADF?

Posted: Thu Mar 02, 2023 4:17 pm
by RuiyaoNi
如何在现有的idf工程中添加ADF的库,并使用ADF的api。板子不是官方的开发板,不使用ADF的官方例程能不能直接添加ADF

Re: 如何在自己的esp idf工程中添加ADF?

Posted: Wed Mar 15, 2023 7:20 am
by tempo.tian
在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

Re: 如何在自己的esp idf工程中添加ADF?

Posted: Sun Mar 17, 2024 3:59 am
by liuhutao
好像不行啊,明明路径是正确的,但是就是有问题啊,哥们

Re: 如何在自己的esp idf工程中添加ADF?

Posted: Wed Mar 20, 2024 6:30 am
by liuhutao
哥,我正确指定了,
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 最新版,所以有世道的吗?

Re: 如何在自己的esp idf工程中添加ADF?

Posted: Thu Mar 21, 2024 11:06 am
by ESP_William
您好,

可以参考 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?

Posted: Tue Mar 26, 2024 4:20 am
by liuhutao
感谢大佬的耐心回复,我在仔细检查后发现,在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组件,