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.

[参考译文] LAUNCHXL-CC2650:当我访问4KB 二维整数阵列时、蓝牙停止连接

Guru**** 2558250 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/572069/launchxl-cc2650-bluetooth-stops-connecting-when-i-access-a-4kb-2-dimensional-array-of-integers

器件型号:LAUNCHXL-CC2650

我有一个基于 SimpleLink Academy project_zero 的 ccs7 BLE 项目、它可以访问外部闪存。

我已将数组定义并初始化为:

uint8_t sectorpage[16][256]={0};

这样、当我有任何使用 sectorpage 未重新映射的行时、我的 SRAM 为88%满。

我编写了使用该数组的代码、所有这些代码都像一个魅力一样工作。

在此过程中、我一直在确保我的设备在我启动固件广播时仍显示在 Lightblue IOS 应用设备列表中。  我还没有检查它是否实际连接。

最近我尝试连接、它超时、我的项目甚至在超时后停止广播。

经过大量调试后、我发现为了连接 Lightblue (或 simplelink)、我必须对项目中引用 sectorpage 数组的每条语句进行重新处理。

如果没有重新映射引用 secorpage 阵列的任何行、则 BLE 不会连接。

这很奇怪、我怎么解决这个问题有什么想法吗?

谢谢、

戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    到目前为止、我已经能够避免这个问题、但关闭了可释放内存的 UART 日志记录。

    当我只有88%的满座时、很难相信这是一个内存问题。

    我能够找到 BLE 停止连接的 sectorpage 的大小。 事实证明、当定义为3770字节时、它有效、而3771字节无效。 这大约是250字节短。 我不知道如何获得更多可用的 SRAM、所以现在就关闭了 UART 日志记录(现在调试会很麻烦!!!)

    还有其他让我保持 UART 登录的想法吗?

    谢谢、
    戴尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果不使用传感器控制器引擎、也可以使用 AUX RAM。