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.

[参考译文] CC2642R:关于简单外设片上外设示例代码的 OAD 特性

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1474234/cc2642r-regarding-the-oad-characteristics-of-simple-peripheral-on-chip-peripheral-example-code

器件型号:CC2642R
主题中讨论的其他器件: UNIFLASH

工具与软件:

您好!

我将 CC2642R 控制器用于我的 BLE 应用。 我在应用中使用了简单的外设片上示例。 这涉及到使用 OAD 特性、并且我能够使用运行 BTool 的十六进制文件的另一个 CC2642R 成功执行 OTA。 我对此有一些疑问:

1.将基本的 BLE Scanner 应用连接到控制器并将任何随机数据写入特征时、控制器将停止工作并进入默认的无限错误循环。 我需要避免这种情况、因为我们的应用可以直接连接、即任何人都可以读写这些特征。 (因此、即使任何人都可以写入 OAD 特征、只有适当的命令才能启动固件更新、并且系统不会进入无限 while 循环)

2.是否有源代码可用于实现 BIN 文件到图像的转换以及与 CC2642R 的后续通信。

谢谢。此致。


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

    您好!

    感谢您发送编修! 我无法重现您所讨论的问题。 您是否可以尝试从正在使用的手机的蓝牙列表中删除设备并重新运行? 另外、请确保为每个特征写入正确的数据类型和大小。

    您还能否提供您使用的 CCS 和 SDK 版本?

    至于 bin 文件、我不确定我是否能理解您提出的问题。 bin 文件自动生成。 您可以详细说明一下吗?

    此致、
    Tarek

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

    您好!

    很抱歉回复延迟。 是的、我已尝试从蓝牙列表中删除设备、但问题仍然存在。 另外、向每个特性写入的数据类型和数据大小也正确。 关于 CCS 和 SDK 版本、我正在使用

    CCS 12.7.1.00001
    SDK 7.41.00.17

    问题如下:
    如果我向 OAD 特性中写入任何随机数据、程序将停止工作。 我需要这些特性来拒绝随机数据、并且仅接受 OAD 固件更新所需的特定映像。

    关于第二个问题、是的、bin 文件会自动生成、但我需要 bTool 功能的源代码。 即将十六进制文件转换为相应图像文件的应用程序。

    谢谢。此致、
    Raj

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

    您好、Raj、

    感谢您的耐心等待! 我只是使用您提供的 SDK 版本运行了示例、并且具有完整的功能、因此我正在努力重新创建错误。  请确认您遵循本网站上给出的示例: https://dev.ti.com/tirex/explore/node?node=A__ATQuPjLa7mTe6cHhz7y-WA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST
    如果是、请尝试重新编译工程并重新刷写电路板。 此外、请提供您在使用本示例时所做的任何更改(如果有)的相关信息。

    至于 bin 文件、用户可以找到一个 python 脚本(OAD_IMAGE_TOOL.py)和一个描述 SDK 内部转换的自述文件。 它位于

    simplelink_cc13xx_cc26xx_sdk_7_41_00_17\tools\common\oad

    我希望这对您有所帮助!

    此致、

    Tarek

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

    嗨、Tarek、

    感谢您的答复。 我已经浏览过 Simplelink BLE 教程、理解起来并不奏效。 让我再解释一下我目前面临的问题:

    我正在控制器上使用 Uniflash 刷写3个程序:
    1. BIM 片上示例  
    2.持续 OAD 示例

    3.修改由 OAD 启动/复位特性组成的片上 Simple Peripheral 示例。  

    现在、由于我的应用限制、我已禁用密码选项、即任何人都可以通过任何标准应用(如 BLE Scanner App)直接连接并写入该特征 如果任何随机用户向该 OAD 特性写入随机数据、则修改后的片上程序将停止工作。 这是有害的,因为任何人都可以使用移动和扫描仪应用程序启动 OAD 与控制器并挂起程序。 我该如何避免这种情况?? (即 OAD 设置/复位特性仅在收到特定数据时启动 OAD)

    此外、我没有在简单的外设片上示例中更改 OAD 特性(为我的要求创建了单独的特性)

    因为我们计划开发可使用 BLE 器件执行 OAD 的自定义应用、所以我要求使用 Bin 文件到图像转换器。 目前、我们通过运行 BTool Hex 文件并执行 OAD 来使用 CC2642R 开发板

    再次感谢、
    Raj

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

    嘿、Raj、

    您能否解释一下修改后的片上程序正在执行什么操作、以及它停止工作时会发生什么情况? 您还可以说明一下在说 OAD 特性时是指 GATT 特性吗?

    此外、  有关 GATT 特性的更多信息、请参阅 BLE5-Stack 用户指南中有关 GATT 特性的部分。

    此致、

    Tarek

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

    您好、Tarek、

    是的、我在讨论 OAD 特性时指的是 GATT 特性。 我的程序涉及接收特定字符串、并将响应传递给通过 UART 连接的另一个器件。 当我向此 OAD GATT 特性写入随机数据时、控制器会挂起、断开连接并停止广播。

    是的、我一定会浏览 BLE Stack 用户指南并理解相同内容。

    谢谢!
    Raj

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

    您好、Raj、

    仅需确认、默认的片上 低功耗蓝牙增强无线下载(OAD)基础知识 示例是否有效 之间的比较 任何修改  器件吗? 在使用默认示例时、您是否可以使用该应用进行 OAD? 如果您尚未尝试过、请进行测试、并告知我您是否可以成功使用该应用。

    此致、
    Tarek

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

    您好、Tarek、

    是的、我能够成功运行 OAD 基础知识示例。 我能够使用该示例程序执行 OAD。 但程序面临相同的问题、即向该 OAD 特性写入任何随机数据时、控制器挂起。 我该怎么做才能避免这种情况

    此致、
    Raj

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

    您好、Raj、

    如果默认示例不起作用、可能是发生了某种通信错误。 下面、我将分步说明如何实现项目正常运行、只需使用目标器件、并使用手机上的 SimpleLink 应用更新固件。 如果您提供了您正在使用的 LaunchPad 的图片以及您 在运行默认示例时遇到问题的视频/图片、那也将非常有用。  

    在 CC264xR 电路板上运行 OAD 项目的步骤:

    1. 将 simple_peripheral_oad_onchip 示例和 persistent_app 示例导入 CCS
    2. 构建这两个工程
    3. 转至 Uniflash 并连接电路板
    4. 在 Uniflash 中选择以下文件(如下图所示):
      1. bim_onchip.hex (位于 examples\nortos\CC26X2R1_LAUNCHXL\bim\hexfiles\bim_onchip\Release )
      2. persistent_app bin 文件(位于工程的发布文件中)并将其加载到 Load Addr:0x38000中
      3. simple_peripheral_oad_onchipbin 文件(位于项目的发布文件中)

    5. 将映像加载到器件上、然后对器件进行下电上电
    6. 通过 SimpleLink 应用程序连接到电路板


    7. 此时、尝试向这些特性写入数据应该没有问题


    8. 尝试更新固件(确保选择正确的文件)


    9. 更新完成后、返回到特性并尝试键入任何数据、该数据应该仍然完全正常工作

    我希望这对您的问题有所帮助。 希望我们能尽快解决您的问题!

    此致、

    Tarek

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

    您好、Tarek、

    感谢您的详细答复。 事实上、必须修改 OAD 设置/复位特性的写入属性函数才能解决我的问题。

    此致