乐鑫技术交流
直播中

王利祥

7年用户 1447经验值
私信 关注
[问答]

如何修改menuconfig中不存在的nimble参数?

我想修改一些 menuconfig 中不存在的 nimble 参数,该怎么做才能避免直接修改
components/bt/host/nimble/port/include/esp_nimble_cfg.h
文件呢?
比如我想修改 MYNEWT_VAL_BLE_GATT_MAX_PROCS 的值(在 esp_nimble_cfg.h 中),直接在自己的工程文件夹里覆盖这个宏,实测又无法真正的覆盖。
                                                                                                                                                        

回帖(1)

刘玉兰

2024-6-17 17:53:33
要修改menuconfig中不存在的nimble参数,可以按照以下步骤操作:

1. 在项目目录中创建一个新的文件,例如 `nimble_config.h`。

2. 在 `nimble_config.h` 文件中,定义您想要修改的宏。例如,要修改 `MYNEWT_VAL_BLE_GATT_MAX_PROCS` 的值,可以添加以下代码:

```c
#define MYNEWT_VAL_BLE_GATT_MAX_PROCS 10
```

3. 在项目的 `CMakeLists.txt` 或 `component.mk` 文件中,添加对 `nimble_config.h` 的包含。对于 CMake 项目,添加以下代码:

```cmake
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
```

对于 Make 项目,添加以下代码:

```makefile
INCLUDES += -I ${PROJECT_PATH}
```

4. 确保 `nimble_config.h` 文件位于项目的根目录下,以便在编译时被包含。

5. 重新运行 `idf.py menuconfig` 或 `make menuconfig`,然后保存并退出。

6. 重新编译项目,新的宏定义应该已经生效。

通过这种方式,您可以避免直接修改 `esp_nimble_cfg.h` 文件,同时实现对 NimBLE 参数的自定义修改。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分