This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352P:如何覆盖 SDK 源文件中定义的宏?

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1408091/cc1352p-how-to-override-macros-defined-in-sdk-source-files

器件型号:CC1352P

工具与软件:

您好!

我尝试增加一个 SDK (v7.41)源文件中定义的 TX 队列大小:

// ti154stack\high_level\mac_cfg.c

/* maximum number of data frames in transmit queue */
#ifndef MAC_CFG_TX_DATA_MAX
#define MAC_CFG_TX_DATA_MAX         16
#endif

/* maximum number of frames of all types in transmit queue */
#ifndef MAC_CFG_TX_MAX
#define MAC_CFG_TX_MAX              40
#endif

/* maximum number of frames in receive queue */
#ifndef MAC_CFG_RX_MAX
#define MAC_CFG_RX_MAX              16
#endif

我看到了几个选项、其中一个选项是在 application\defines\collector.opt 中定义这些宏

-DMAC_CFG_TX_DATA_MAX=16
-DMAC_CFG_TX_MAX=40
-DMAC_CFG_RX_MAX=16

另一个选项是"project properties->CCS build->Arm Linker->Advanced Options->Command File Preprocessing"

您能否告知建议使用哪种方式? 我没有看到一种简单的方法来验证宏是否已成功覆盖、也不希望更改 SDK 文件本身。

谢谢!

ZL  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    李志勇您好

    我希望你做得好。 首先我想问一下这个应用是低于1频段还是2.4 GHz?  

    按宏(也被称为可配置参数)、我们具有以下结构:  

    /* configurable parameters */
    macCfg_t macCfg =
    {
      MAC_CFG_TX_DATA_MAX,
      MAC_CFG_TX_MAX,
      MAC_CFG_RX_MAX,
      MAC_CFG_DATA_IND_OFFSET,
      MAX_DEVICE_TABLE_ENTRIES,
      MAX_KEY_DEVICE_TABLE_ENTRIES,
      MAX_KEY_TABLE_ENTRIES,
      MAX_NODE_KEY_ENTRIES,
      MAX_KEY_ID_LOOKUP_ENTRIES,
      MAC_CFG_APP_PENDING_QUEUE,
      MAC_MAX_FRAME_SIZE
    };

    正如您提到的、您已经将 MAC_CFG_TX_DATA_MAX 宏定义修改为16 (这一点现在应该反映在调试中)。 尝试调试器件、并在表达式中放置结构(macCfg)或宏(MAC_CFG_TX_DATA_MAX)以查看其设置。  

    谢谢!
    Alex F