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.

[参考译文] CC2640R2F:缓存为 RAM 失败、在 simple_peripheral_oad_offchip 中、紧急!!!!!

Guru**** 2588145 points
Other Parts Discussed in Thread: LAUNCHXL-CC2640R2

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/595381/cc2640r2f-cache-as-ram-fail-in-simple_peripheral_oad_offchip-urgent

器件型号:CC2640R2F
主题中讨论的其他器件:LAUNCHXL-CC2640R2

我按照开发人员指南将缓存设置为 simple_peripheral 中的 ram, 它运行正常。

但是,simple_peripheral_oad_offchip,它无法运行。

我是否会输了呢?

1) 1)在项目选项中,设置 cache_as RAM = 1,并定义 cache_as RAM

2) 2)包含 ccfg_app_ble.c、并添加:

#ifdef cache_as RAM

#define SET_CCFG_SIZE_AND_DIS_FLAGS_DIS_GPRAM 0x0 //启用 GPRAM *
#endif //cache_as RAM

3),修改 ICF 文件。 这是我的配置:  e2e.ti.com/.../cc26xx_5F00_app_5F00_oad_5F00_icf.zip

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

    随附的链接器文件看起来不错、但我认为问题可能与 CCFG 有关。

    在 OAD 设计中、CCFG 作为 BIM 项目的一部分链接、不包含在应用中。
    将高速缓存作为 RAM 与 OAD 一起使用将要求您使用新的 CCFG 重新构建 BIM、该 CCFG 将高速缓存作为 RAM 启用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    @Sean2,此问题与 e2e.ti.com/.../595413相同 ,我认为它与 BIM 无关。 你试过吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Teddy、

    您的映射文件是否显示了放置在 GPRAM 区域中的.bss 段?

    您是否还可以更新 ICF 文件以进行此修改(与 SDK 1.35中的 BLE5-Stack 中使用的相同):

    if (isdefinesymbol (cache_as _RAM))

    // GPRAM
    定义块 GPDATA{.bss};
    置于 GPRAM 中{块 GPDATA },但{对象 ll.o }除外;


    "例外"位很重要。

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我现在正在努力复制它。

    但是、根据 OAD 设计、这将需要重新构建 BIM、因为 RAM 缓存配置需要更改 CCFG、BIM 是链接 CCFG 的工程。 OAD 应用程序不用于链接 CCFG。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我尝试将您的修改(除了 BIT)放入 ICF 中、但它仍然不起作用。

     我先将 cc2640r2_stack 下载到 LAUNCHXL-CC2640R2、然后从 IAR 下载/调试 cc2640r2_app。 我不下载 BIM。 当我不启用 cache_as RAM 时、它可以调试和跟踪 cc2640r2_app。 在我启用 cache_as RAM 后、当我从 IAR 下载/下载 cc2640r2_app 时、它会弹出以下错误。 我认为这与 BIM 无关。 您能在您的环境中重现它吗? 您还有其他解决方案吗?

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

    您好 JXS。

     我用您的解决方案尝试它。但它仍然无法运行。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人能提供解决方案吗? @TI 人
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试了另一个从经销商那里借用的 LAUNCHXL-CC2640R2、它正常工作。 我怀疑它与硬件相关。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在两个 LAUNCHXL-CC2640R2上尝试过它。两个都失败了。 不明白
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    经销商的 LAUNCHXL-CC2640R2的颜色与我的 LAUNCHXL-CC2640R2的颜色不同、但硬件版本相同。 我不知道它为什么工作、但我不知道。 希望 TI 的人员能够验证这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有答案
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI 似乎没有人能在这方面提供帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们仍在对此进行研究。

    问题:您是否按照@Sean2的建议修改 BIM 中的 CCFG 以将缓存启用为 RAM?

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此示例不使用 BIM、为什么我必须在 BIM 中更改 CCFG?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们不是讨论 simple_peripheral_oad_offchip 示例应用吗? 请参阅 SDG :software-dl.ti.com/.../oad.html 中"使用 IAR"的第1步

    "打开 bim_oad_offchip 工程、使用调试器将其编译并加载到 CC2640R2 Launchpad 上。"

    祝你一切顺利
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我使用 IAR 调试 simple_peripheral_oad_offchip 时、会发生该问题。 下载/调试 IAR 时是否仍然必须使用 BIM? 奇怪的是、为什么我可以让它在经销商的另一个电路板上工作、而不是在我自己的电路板上工作、即使电路板版本也是一样的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试在 software-dl.ti.com/.../platform.html 中执行 bim_oad_offchip 工程的步骤、但我遇到以下构建错误。

    无法在[0x0001f000-0x0001FFF]>(总未提交空间0xee0)中为总估算最小大小为0x1220字节(最大对齐0x4)的段/块分配空间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    、我不确定您为什么会遇到链接错误。 您可以尝试全新的 SDK 安装吗? 此外、来自经销商的 LaunchPad 是否已经对 BIM 进行了编程? 您还可以检查高速缓存的 VIMS 设置以确认它处于 GPRAM 模式。

    只需明确以下步骤:

    BIM 是第一个可执行文件、需要通过 CCFG 将缓存转换为 GPRAM。 如果不发生这种情况、simple_peripheral 应用程序将尝试以.bss 的形式访问 GPRAM、但它不存在、这将导致不良情况(读取:龙)

     需要将 cache_as_RAM 下的其余更改应用于 simpe_peripheral off chip oad 项目、包括链接器。

    祝你一切顺利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    @JXS 在我使用 bim_oad_offchip 项目后、它就可以工作了。 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能否显示更多详细信息。谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我打开 bim_oad_offchip 工程、并按照 software-dl.ti.com/.../platform.html 的 cache_as ram_ram 部分中的步骤 来重建 bim_oad_offchip 工程。 将 bim_oad_offchip 项目下载到我的 CC2640R2、然后下载具有 cache_as _ram 启用功能的 simple_peripheral_oad_offchip。 我可以这样做。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。


    感谢您的确认。 对于其他器件、bim_oad_offchip 所需的全部内容是在 ccfg_app_ble.c 下添加#define:

    #define SET_CCFG_SIZE 和 DIS_FLAGS_DIS_GPRAM 0x0 //将缓存启用为 RAM (GPRAM)
    #include

    然后、您使用应用手册中指定的 CAR 构建 simple_peripheral 项目。

    祝你一切顺利