主题中讨论的其他器件:CC1352P、 SysConfig
工具与软件:
大家好、
我要介绍 kokks 的精彩 ZigBee 固件存储库、发现他在预包含中重新定义了引脚定义。 (这听起来在细节上都很具体、但我认为这并不相关、但给你一个感觉):
```μ A
# preinclude.h
//将默认发射功率设置为9
+#ifdef CC1352P_2
+#define TXPOWER 9.
+
+//不同的配置、注释"其他"固件
+#define LaunchPAD_CONFIG 1
+#ifdef Launchpad_config
+#define CONFIG_RF_24GHz 0x0000001c
+#define CONFIG_RF_HIGH_PA 0x0000001d
+#define SET_CCFG_MODE_CONF_XOSC_CAPARRAY_DELTA 0xc1
+#else
+#define CONFIG_RF_24GHZ 0x0000006
+#define CONFIG_RF_HIGH_PA 0x0000005
+#define SET_CCFG_MODE_CONF_XOSC_CAPARRAY_DELTA 0xfa
+#endif
+#endif
```μ A
经过一些调查后、我发现 CONFIG_RF_24GHz 映射到`rfAntennaPin0.$inductestSolution`在`ZNP.syscfg`中。 更糟糕的是,我注意到(也在`ZNP.syscfg``Display1.uart.uart.intrectestSolution`当在 syscfg 上使用 IDE 时,会在 UART0和 UART1之间随机翻转(我不真正改变任何东西)(我理解,只要引脚不改变,p 就不重要)。
无论如何,我通常不是一个保持"建议的解决方案"的粉丝,而是更喜欢"硬代码"的东西,这样我们就不会得到惊喜以后。 但 google 周围,我发现非常少`$intellectestSolution`. googling 甚至给了我三个结果(当搜索双引号),其中2在中文中,只有一个是英语,这使我到 https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/789784/ccs-codecomposer-conflict-handling-during-porting-to-sysconf 使用``$assign`(这是我不是很 googlable 本身,但与`$suggestSolution`只有一个页面点击,只是链接)道具。
使用`$inductestSolution`编译为`$assign`可行、因此我希望这意味着 CCS 将永远尊重我的 ZNP.syscfg 中的内容。 但我对他们的含义感到困惑、即使我在 IDE 中也会怎么做(我尝试了几件事、但无法理解)。 我该如何修复/使用它?
比如说、 https://github.com/Koenkk/Z-Stack-firmware/blob/21355f8ab3d1bfaf2f42f895072591fbbc7f447b/coordinator/Z-Stack_3.x.0/znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.syscfg#L77 是我执行的操作(对文件重新排序以对相关位进行分组之后)。 编译工作正常(如果二进制文件也实际起作用、则立即进行测试)