我有一个项目,它由网格中的节点组成,它们之间将进行无线通信,并使用地址相互识别。
节点的职责是相同的,因此每个节点的源代码都是相同的,除了我想为每个节点指定和唯一的地址。
该项目将是一种演示或技术演示,因此为简单起见,我不想介绍一些地址协商或类似的复杂内容。
我正在研究并发现一些在 CMake 中使用 target_compile_definitions 的建议,但我不确定如何将其应用于通用 Zephyr CMakeLists.txt:
set(BOARD qemu_x86)
find_package(Zephyr)
project(my_zephyr_app)
target_sources(app PRIVATE src/main.c)
所以我想知道最好的方法是什么?有没有办法在 CMake 中做到这一点(在 CMake 方面我还是个菜鸟)?还是我应该修改一些 Python 脚本?
编辑:我在想是否可以从 CMake 级别执行 #define <device_addr> 之类的操作,然后对其余设备重复 X 次。所以最后我会得到 X 二进制文件,它们仅在#define <device_addr> 方面有所不同。
感谢您提前回复。