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.

[参考译文] LP-CC2652RB:其中 CC2652RB 的 CCFG

Guru**** 2390755 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1082526/lp-cc2652rb-where-is-ccfg-of-cc2652rb

部件号:LP-CC2652RB

您好 TI,  

我想在 我的项目中获得次要 BLE MAC 地址。  

我知道我需要阅读 CCFG 区域才能获得 BLE MAC 地址,但我对 CCFG 的地址感到困惑。

智能闪存编程器2中,我看到地址是0x00057FD0 (我可以通过 NVS_READ()获得此地址的正确结果):

但是,当我通过 HW_ccfg.h 获得 BLE MAC 时,我可以看到定义:

// in hw_ccfg.h
#define CCFG_BASE               0x50003000 // CCFG

// IEEE BLE Address 0
#define CCFG_O_IEEE_BLE_0                                           0x00001FD0


// in main.c
memcpy(MAC_addr, (uint8_t *)(CCFG_BASE + CCFG_O_IEEE_BLE_0), 6);

这意味着 BLE MAC 的地址是0x50004FD0 (我可以通过 memcpy()获得正确的结果),是吗?

实际上,我可以从两个不同的地址中获得正确的结果,我不知道为什么,你能帮我吗?

非常感谢,祝你度过美好的一天!

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

    您好,

    感谢您的参与。

     存储在最后一个 Flash 页面(存储在地址0x56000)中的 CCFG 配置映射到 CCFG 寄存器(存储在地址0x50003000)。 因此,您在通过任一种方法访问数据时,应该具有相同的值。

    内存映射用于在两个 ARM Cortex 处理器(对讲机 M0和主 M4F)之间共享资源。 作为开发人员,您唯一的问题是应用程序,因此您应该修改存储在闪存最后一页(0x56000)中的 CCFG。  

    如果需要,我建议查看<SDK>\sources\ti\devices\cc13x2_cc26x2\inc\hw_ccfg_simple_struct.h 的内容,以了解有关此内存映射的其他详细信息。

    我希望这将有所帮助,

    此致,

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

    感谢你的帮助,我现在就明白了!