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.

[参考译文] CC2652R:如何为 PTM 模式创建十六进制文件

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1027617/cc2652r-how-to-create-hex-files-for-ptm-mode

器件型号:CC2652R
主题中讨论的其他部件:CC2650SysConfigCC2651R3CC2651P3CC2642RCC2640

大家好、团队、

我正在使用 CC2652R1 MCU。 (BLE SDK 版本4.40.00.44)

我想生成 PTM 模式十六进制文件以进行电路板测试。

这是如何完成的?

我知道、对于 cc2650、我们有 host_test 示例项目、该项目生成栈和 app.hex 文件。

但在 cc2652中、我看到我们需要使用 SysConfig 工具来启用 PTM 模式。 我想知道生成 stack.hex 和 app.hex 文件需要遵循的步骤

谢谢您的帮助。

Ddn

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

    上面的屏幕截图是在探测 UART 线路并发送 HCI Reset 命令、HCI set channel 命令后进行的、我们使用该命令来测试射频信号。

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

    您好!

    这些看起来很好。 我想看一下 Tx 线路的完整性、但现在我们应该重点讨论器件不"看到"这些信号的原因。

    请尝试运行 SDK 中提供的 uartecho 示例吗? 目的是验证此示例是否正常工作、从而增加网络处理器接口的所有复杂性。

    如果像在这里所做的那样、您可以探测 Tx 和 Rx 线路、这将非常有帮助。

    此致、

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

    您好 Clement、

    我已经运行了 uartecho 示例、我能够获得回显、或者读取我编写的任何内容。

    这意味着 UART 线正在正常通信、我的定制板也很好。

    我可能会要求我的同事进行探测并获取屏幕截图。

    那么问题是,我当时假设的 NPI 接口有问题吗?

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

    您好!

    您能否将 simple_peripheral 项目中使用的 UART 设置与 uartecho 示例中使用的设置进行比较? 此信息应在 SysConfig 中提供。

    此致、

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

    您好 Clement、

    当我比较这两个 UART 设置时、注意到在 simple_peripheral 工程中 TX 引脚配置输出状态设置为高电平、在 uartecho 示例中设置为低电平。

    我现在在 simple_peripheral 项目中更改为 LOW、现在我们观察到的 wrt NPIask_transportRXCallBack 问题未出现。 但是、当我发送命令时、我不会得到任何响应。 我是否可以发送任何特定命令来测试响应?

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

    您好!

    我想知道您的器件是否可以达到异常、或者存在什么问题。

    您是否曾尝试暂停代码的执行并查看执行了哪些代码?

    由于以色列的假日季、我们的研发团队已不在办公室。 我会要求他们在回来后尽快提供 hexfile。

    此致、

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

    当我尝试暂停时(在发送命令但在一段时间内没有得到响应后),控件处于此 while 循环中:

    /**
     * Aborts。
     *
     *这优于 C runtime abort()函数,
     因为 C 运行时 abort()仅为外部映像中的*
     *在包含 C 运行时的根映像中得到保证
     *启动时执行的 entry 函数。
     *
    iCall_errno
    iCall_abort (空)

    #ifdef HALNODEBUG
    #Elif defined (EXT_HAL_ASSERT)
     HAL_ASSERT (HAL_ASSERT_CAUSE_ICALL_ABORT);
    其他
     {
       volatile uint8_t j=1;
       while (j);
     }
    #endif /* EXT_HAL_ASSERT *
     iCall_Hook_ABORT_FUNC ();
     return (ICALL_errno_Success);

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

    您好!

    这是我怀疑的。

    请尝试识别负责调用 iCall_abort()的代码片段吗?

    谢谢、此致、

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

    我看到大约在执行5秒后、该特定 iCall_abort (如屏幕截图所示)的控件将变为该控件。

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

    您好!

    剩下的问题似乎是因为堆短缺。 这主要是由于与 CC2652器件相比、CC2651器件的可用 RAM 有所减少、因此未对该项目进行优化。

    我想您可以通过节省一点 RAM 来使 PTM 正常工作。 以下是一些建议:

    -使用 SysConfig、在"RF stacks">"BLE">"General Configuration"中、将"Max Number of Connections"设置为1

    -在 simple_peripheral.c 中、将 SP_TASK_STACK_SIZE 设置为500。

    -在 npi/npi_task.c 中,将 NPITASK_STACK_SIZE 设置为608

    -在 simple_peripheral_app.cfg 中、将 Task.idleTaskStackSize 设置为200

    所有这些更改都应允许正确运行 PTM。 如果您尝试使用器件实际用作外设、则可能会遇到一些问题。

    请告诉我它是如何为您服务的。

    此致、

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

    您好!

    我之前的消息是正确的、但您不需要应用建议的所有元素。

    您基本上可以使用 SysConfig 减少最大连接数、在射频堆栈> BLE >常规配置中、将"最大连接数"设置为6

    除此之外、请使用 SysConfig 禁用显示(在"射频堆栈> BLE >高级设置>禁用显示模块"中)。

    只有这样做、保存的 RAM 量才允许您正确运行 PTM。

    让我们及时了解最新信息、

    此致、

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

    您好!

    我将关闭此主题、因为已提供并确认脱机解决方案。

    请确保将该主题标记为已解决。

    此致、

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

    谢谢 Clement。

    按照您提到的步骤操作后、它对我们有效。