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-CC1352R1:ICALL_malloc 出现 PRECISERR.Data 访问错误

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1474413/launchxl-cc1352r1-preciserr-data-access-error-on-icall_malloc

器件型号:LAUNCHXL-CC1352R1
主题中讨论的其他器件:SysConfig

工具与软件:

大家好、

版本:

路径 修补程序版本
电流环路 CC1352R1_LAUNCHXL_TIRTOS
CodeComposerStudio 11.1.0
SimpleLink CC13xx CC26xx SDK   5.30..1.01.
XDCtools 3.62.1.16_CORE
SysConfig 1.10.0


我无法更改版本、因为对于 SubGHz 射频协议所需包含的库、修复了。

我做了什么:

我将 Sub-GHz Protocll 的示例项目合并到其中、将 Project Zero 项目合并到其中。 我需要做一些调整、例如添加一个.cfg 文件、因为日志 Sub-GHz 项目没有此文件。 现在、我已经解决和管理了所有 include 错误以获取构建。 Sub-GHz 部分的工作方式类似魅力、但当我在 main 中添加蓝牙任务的调用(请参阅下面的代码)时、我总是喜欢"XDC_RUNTIME_Error_PolicySpin__E ()"  
 

  ICall_init();

  ICall_createRemoteTasks();

  ProjectZero_createTask();

我在文件"ble_user_config_stack.c"中将错误回溯到函数调用:

  pTxPowerTblEntries = (txPwrVal_non_const_t*)ICall_malloc(sizeof(txPwrVal_non_const_t)*(userCfg->boardConfig->txPwrTbl->numTxPwrVals));

(我不是完全确定,但我认为它在文件 rrtos_heaposal.h 第422行"tmp =*hdr;"崩溃)

    hdr = (heapmgrHdr_t *)((hmU8_t *)hdr + tmp);

    tmp = *hdr;

此调用中的某个内容会使 CC1352崩溃。 在"运行时对象查看器"中的 HWI-->异常显示:

我已尝试将 CC132R1_LAUNCHXL_TIRTOS.cmd 文件中的堆大小从30000增加到50000

//HEAPSIZE =30000;  /* Size of heap buffer used by HeapMem */
//HEAPSIZE =50000;  /* Size of heap buffer used by HeapMem */

增大它可以更好地解决 buidl 不再适合内存的错误。

有人能给我一些解决问题的技巧吗?

此致
Jones

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

    Jones、您好!

    我不知道你现在在项目中有多深,但考虑到你的限制,我会做的另一个方式。 也就是说、从 project_zero 开始、然后向其中添加 SUB1-GHz 项目、正好从 BLE 堆栈的已知良好内存配置开始。

    顺便说一下、您的低于1GHz 库是以二进制文件的形式提供、还是您可以访问源代码? 通常可以将使用不同编译器编译的库文件集成到较新的编译器中。

    最后、我们还提供了一个可简化低于1GHz / BLE 并发运行集成的组件、称为 DMM:DMM 基础知识

    此致、

    Arthur

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

    您好、Arthur、

    感谢您的答复。 我最初尝试将 Sub1-GHz 项目包含到 Project Zero 中。 但这并不奏效。 一个多星期后,没有得到项目编译,我用另一种方式对它进行了检验,到目前为止,低于1GHz 的部分运行良好。 我也希望在那里运行 BLE。
    是否无法将您的 BLE Stack 包含在已展开的项目中?

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

    Jones、您好!

    除非您的 BLE 器件不涉及维护连接、例如作为简单的广播器/观测器、否则我认为它不会起作用。

    您遇到了哪种编译问题?

    此致、

    Arthur

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

    嗨、

    你这么说是什么意思?

    我希望 CC1352是一个蓝牙外设、用于广播可以与智能手机配对/绑定。 您是否具有如何使用 CC1352创建您自己的蓝牙应用的说明或指南? 我是否始终需要从蓝牙示例开始?


    此致
    Jonas

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

    Jones、您好!

    在这种情况下、您确实需要完整的 BLE5堆栈。 我们在此提供了这样的指南: 低功耗蓝牙5基础知识

    是的、要开发 BLE5应用、您应该始终从 BLE 或 DMM 示例开始、例如 simple_peripheral 等。

    此致、

    Arthur

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

    嗨、Arthur、

    我们从 DMM 示例"dmm_wsnnode_ble_sp_app"开始尝试、但当我们尝试更改低于1GHz 协议的 EasyLink 协议时、我们收到通知、该示例仅适用于 BLE 和 EasyLink。 因此我们不能将 DMM 用作我们的休息。

    来明确我们的目标。 我们希望有一个由 TI 维护的 BLE、以及一个目前 TI 不维护的低于1GHz 协议、同时在 CC1352上工作。 这是否可以通过从 BLE 示例 simple_peripheral 开始、然后向其中添加低于1GHz 协议来实现? 或者有必要让 DMM 使用任意两种射频协议吗?

    此致
    Jones

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

    Jones、您好!

    是的,事实上,我们不再建议 Easylink。.

    很抱歉打断您、但您仍然可以在现有 simple_peripheral 应用之上添加 DMM 模块。 您无需从其中的 DMM 示例开始。 如下所示: DMM 集成。 本指南使用"定制"DMM 配置文件。

    此致、

    Arthur