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.

[参考译文] CC2640:在映像中找不到有效的 OAD 报头

Guru**** 2585275 points
Other Parts Discussed in Thread: CC2640, CC2640R2F, CC2540, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/568661/cc2640-a-valid-oad-header-was-not-found-in-the-image

器件型号:CC2640
Thread 中讨论的其他部件:CC2540CC2650

我正在尝试使用 CC2640实现片上 OAD。 我遵循了 cc2640 BLE OAD 用户指南、当我将 SimpleBLEPeripheral 图像添加到 BLE Device Monitor 时、我收到一条消息"在图像中找不到有效的 OAD 标头。 使用生成的标头"。

当我 对项目不做任何更改时、为什么会获得此结果?

谢谢

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

    感谢您的回复。 我发现自己在跟随你的道路。 我只是想让示例与 SAMPLE_PERipheral 一起工作。
    因此、我禁用了校验和生成。 当您说您注释了图像标题时、您是否意味着您注释掉了_imgHr 结构的内容?
    BTW、我将 CC2650 Launchpad 用作主机、但目前使用 CC2640作为目标。

    韦恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wayne、
    我忘记了对图像标题的评论。 我没有对_imgHr 结构的内容进行注释。
    我将使用同一个 LaunchPad 作为主机、我将使用另一个 LaunchPad 作为目标。 它应该是相同的。
    那么、禁用校验和就是我所做的。 然后、我必须创建自己的元数据标题。 你明白了吗?

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

    您好、Mario、

    感谢您的见解。 我真的很感谢。
    我将尽最大努力遵循 CC2640 BLE OAD 用户指南 v2.2.1开箱即用片上示例以及此主题中标注的建议。

    这里是我目前所了解的一切。
    -我将 CC2650 LP 用于主机、将内部 CC2640板用于目标。
    -我主要使用 cc2650lp simple_link 示例代码、但使用 cc2640r2f SDK 中的 BTool 3.0、如该主题中所述。
    - cc2650lp_host_test_rel.hex 和 oad_target_cc2650lp_unified.hex 应用程序似乎工作正常。
    - BTool 从 cc2650主机成功扫描并建立到 cc2640目标
    -对于 OAD Flash_ImageB、我将使用 IAR IDE 构建 cc2650lp/simple_peripheral 项目、如 OAD 指南中所建议。
    -如您所见、我需要禁用校验和并注释掉图像标题。 然后、使用 OAD_IMAGE_TOOL 从命令行生成二进制文件。
    -由于目标是 CC2640,因此我将设置元数据位置和图像范围以及其他选项,例如:-t onchip -i app -v 0 --usrId BBB -m 0x9000 -r 0x13000
    - BTool 似乎对 oad_imgB 满意,因为所有标记为“有效”的字段
    - BTool 似乎启动并通过 OAD 进行。
    -*但是*,最后我收到错误消息:" :OAD 下载未成功"

    嗯、这就是我所在的位置。  我觉得它接近了、但仍然没有成功。

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

    哦、就像您已经调试过的一样、我认为错误消息并不总是正确的。
    但是、我也会遇到不可预测的行为。 加载完全相同的映像、有时会下载(在我的案例中为1791块)、有时会立即拒绝。  BLE 消息指示拒绝、但我仍在尝试确定原因。

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

    您好、Wayne、

    您的图像范围应为0x9000至0x12000。 如果您有0x13000、那么您将删除属于 BLE 堆栈的第13页、这样您就会死机。

    请先尝试该修复。

    Mario  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否能够始终如一地传输图像? 如果您被拒绝、可能是因为图像版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Rebel,

    您是否能够成功运行 OAD 更新? 是否存在复位矢量问题? 因为这是我现在的问题所在。
    您能告诉我您的复位矢量是什么?

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

    BTool 必须收到图像传输完成的通知、然后它会发送命令以重置目标。 如果目标未告知 BTool、则会说它失败了。 这可能是正在发生的情况。

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

    让我今天(或明天最坏的情况)给它一个机会。 我有一段时间没有运行2.2.1 OAD、上次运行时我不记得运行时会出现问题、但这可能是针对较旧版本。

    无论如何、我会尽快更新复位矢量。

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

    您好、Mario、

    是的、我发现0x13000的上限范围是坏的、并且已经对其进行了更改。  我的帖子中的值不正确。  我使用的是0x12000、就像您说的。

    我在 oad.c 中的 systemReset()之前添加了 sendStatus()  我在重新构建工作映像时遇到了一些问题、不确定原因、但我会解决这个问题。

    我猜我还需要进行一些状态检查、以便在系统重置之前为出站通信提供延迟。  但是、当我到达那里时、我将看到它。

    谢谢、

    韦恩

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

    我的情况越来越接近。  我可以始终如一地下载 ImgB (simple_Peripheral 项目)

    我的问题是/是、我需要注释掉 OAD_TARGET_INTERNAL_FLASH_FLASH_c 中的 imgHdr、以获得"有效"的 ImgB。  但是、对于 ImgA (OAD_TARGET)、需要 imgHdr。  因此、我在其周围添加了一个条件编译器、并使用#ifndef HAL_image_B  我不喜欢它、但 直到我知道发生了什么、它才起作用。

    我还在最后一个下载块之后将带有较新代码块的 oad.c 修改为 sendStatus()。

    但是,如果我替换 systemReset(),就像新代码一样,BTool 会接收到 OAD_SUCCESS 状态,但在等待目标重置时挂起(因为目标已删除,所以它不会执行此操作)。

    -如果我在 systemReset()之前添加新代码,那么 sendStatus()在复位发生之前似乎没有时间发送状态。  BTool 报告 OAD_FAILED。

    向前迈出一小步

    韦恩

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

    您处于正确的轨道上、当 BTool 收到 OAD_SUCCESS 状态时、它会等待重置。 下面是我对其进行重置的操作:
    在 OadTargetApp_taskFxn()的 OAD_TARGET_APP.c 中有一个 while (!Queue_empty (hOadQ)),我添加了另一条"else if"语句。


    while (!Queue_empty (hOadQ))

    oadTargetWrite_t * oadWriteEvt = Queue_get (hOadQ);

    //识别新图像。
    if (oadWriteEvt->event == OAD_WRITE_Identify_Req)

    OAD_imgIdentifyWrite (oadWriteEvt->connHandle、oadWriteEvt->pData);

    //写下一个块请求。
    否则(oadWriteEvt->event =OAD_WRITE_BLOCK_REQ)

    OAD_imgBlockWrite (oadWriteEvt->connHandle、oadWriteEvt->pData);

    否则(oadWriteEvt->event =OAD_IMAGE_COMPLETE)

    HCI_EXT_ConnEventNoticeCmd (oadWriteEvt->connHandle、self 实体、
    OAD_DL_COMPLEE_EVT);


    //自由缓冲区。
    iCall_free (oadWriteEvt);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哦,我忘记了我的 reset()位于同一个 OatTargetApp_taskFxn()中。 您还需要添加此内容。
    这就是我的 if (iCall_fetchServiveMsg ())看起来的样子。


    if (iCall_fetchServiceMsg (&src、&dest、
    (void **)&pMsg)=ICALL_errno_Success)

    IF (((src =ICALL_SERVICE_CLASS_BLE)&&(dest =self Entity))

    iCall_Stack_Event *pEvt =(iCall_Stack_Event *) pMsg;

    //首先检查 BLE 堆栈事件
    if (pEvt->signature == 0xFFFF)

    if (pEvt->EVENT_FLAG & OAD_DL_COMPLEE_EVT)

    //重新启动设备
    OADTarget_systemReset();


    其他

    //处理任务间消息
    OadTargetApp_processStackMsg ((iCall_HDR *) pMsg);



    /* if (((src =ICALL_SERVICE_CLASS_BLE)&&(dest =self Entity))

    //处理任务间消息
    OadTargetApp_processStackMsg ((iCall_HDR *) pMsg);
    }*/
    if (pMsg)

    iCall_freeMsg (pMsg);

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

    您好、Mario、Wayne、

    因此、我快速启动并运行系统、能够成功执行片上 OAD 传输、请注意、我尚未应用我们在该线程中发现的所有修复。

    下面是我重现2.2.1的步骤:

    IMG_A:

    -打开 OAD 目标项目(img_A)

    -将 BIM 更改为与 XDS 110 (而非 XDS 100v3)配合使用(通过项目设置)

    -将应用程序(img_a)项目更改为不用0xFF 填充空空间(重要! 在 OAD 维基网页+ SDG 上注明)

    -使用 OAD Image 工具执行以下操作:

     将所有内容合并到一个二进制文件中

     将 IMG_A 的元数据插入0x600

    -将 IMG_A 刷写到 launchpad 上

    一切都很好:)

    IMG_B:

    -打开 Simple Peripheral Project 并选择 IMG_B 构建配置

    -已将项目更改为不使用0xFFs 填充空空间

    -在 oad_target_internal_flash.c 中注释掉了图像标题内容、因为我将使用 oad_image 工具插入元数据

    -使用 OAD 映像工具生成包含元数据@ 0x9000的二进制文件

    -使用二进制加载 BTool、并使用 BTool 在原位修改元数据以使其有效

    图像尺寸不正确

    版本太低(此值递增)

    UID 更改为 B B B B B

    将图像发送到 OAD 目标-尽管 BTool 报告了失败(因为我尚未在该线程中应用修复程序)、但目标确实已重置并开始广播新代码。

    已使用图像无效服务使 IMG_B 无效、并验证 IMG_A 在复位时是否已开始运行。 生成新 IMG_B 并再次执行 OAD。 除 BTool 报告的故障外、没有其他问题。

    希望这对您有所帮助、

    反叛分子

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

    你好,Rebel,

    非常感谢您对此进行的测试。  很抱歉、我不了解 TI、但我对 TI 的开发有点陌生。

    我尝试按照您的指定配置项目选项和 OAD_TOOL 选项。  当我针对 IMG_A 执行此操作时、会出现如下错误:

    >> oad_image_tool.exe oad_target_cc2650lp_app.hex oad_target_cc2650lp_stack.hex bim.hex -ob oad_target_cc2650lp_unified.bin -t onchip -i production -v 0 --usrId AAAA -m 0x0600
    >> 致命错误:--提供的元数据位置(0x00000600)不为空。 正在退出。

    我在指定范围选项( 如-r :0x8000)时遇到相同的错误

    我做了哪些错误的事?

    谢谢、

    韦恩

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

    你好,Rebel,

    我没有执行此步骤"为 IMG_A 将元数据插入0x600 "。 如何将元数据插入此位置?

    IMG_A 的范围是多少?  是0x600 - 0x9000吗?

    谢谢、
    Mario

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

    我想你和我都在同一个问题上。 我不知道我们必须将元数据添加到 IMG_A 中

    Mario
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mario、
    我同意。 到目前为止、您一直在打造我一直关注的道路。 我希望我能有所帮助。
    我尝试指定各种范围、如您在前面所述。 我始终会遇到错误。
    也许、由于我们使用 OAD_TOOL 进行 IMG_A 的元数据插入、我们还需要注释掉 IMG_A 的 OAD_TARGET_INTERNAL_FLASH_c 中的 imgHr 块。 我刚刚完成了这项工作,并为 oad_tool 指定了-r :8000,我不再看到致命错误。
    我将看到我的距离有多远。
    韦恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只能将元数据添加到 IMG_A 中。 但看起来反叛分子在统一了元数据之后添加了元数据、我无法做到这一点。

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

    奇怪的是、我只能:

    oad_image_tool.exe oad_target_cc2650lp_app.hex oad_target_cc2650lp_stack.hex bim.hex -usrId AAAA -t onchip -m 0x600 -o unified.hex -ob unified.bin

    没有问题。 (确保防止所有项目使用可能是您遇到的问题的0xFF 填充未使用的空间)

    请注意、版本将为1、因此 IMG_B 需要更新。 此外、我还将使用来自最新 R2 SDK 的 OAD_IMAGE_TOOL。

    您不必使用 range 命令,特别是对于统一的(即 BIM + STACK + IMG_A),堆栈将位于第19->30页,因此如果使用范围,您将会清除该信息。

    此致、
    反叛分子

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

    你好,Rebel,

    我已经尝试了 IMG_A 的 OAD_IMAGE_TOOL 选项、而且可以肯定的是、它会创建没有错误的输出、并且不会注释掉 imgHdr。  尽管有趣的是、控制台输出现在会混乱(这很重要吗?):

    00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15

    [41mX[0m[41mX[0m[41mX[0m[41mX[0m][41mX[0m [41mX

    针对 IMG_B

    我将项目选项更改为非填充、并注释掉了 imgHdr。

    我运行了: oad_image_tool.exe simple_peripheral_cc2650lp_app.hex -ob app_oad.bin -t onchip -i app -v 3 -usrId BBBB -m 0x9000 -r 0x12000

    我通过报告的元数据获得成功的结果:

    描述:| CRC | CRC-Shdw | imgVer | imgLen |  usrId | imgAddr | imgType | stat|

    数据:| 0x26FE | 0xFFFF |  3|  9212 | 42:42:42:42| 2404|  01|   FF |

    我打开 BTool (来自 cc2640r2f SDK 的最新工具):

    因此、我替换元数据并编写自己的数据、具体方法是指定:vers:3、 length:2400 (实际上是在我选择"添加元数据"时填入的)、 uid BBBB、 imgType:1

    OAD 立即终止。  所以、我设置了一些错误。

    韦恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    校正:
    在上述内容之后、但按如下方式设置元数据:版本:2、起始地址:0x9000
    现在、OAD 下载完成。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Rebel,

    我按照您的步骤刷写了 IMG_A、目标正在广播。

    对于 IMG_B、我确保我没有使用0xFFs 填充空空间、我的项目已设置为填充它。
    然后我编译并下载了 IMG_B、BTool 报告下载成功、但没有广播。 我手动重置它、再也不会重置。

    我在这里一定会错过一些东西、我一直遇到相同的问题、但没有像您一样的元数据问题。 我想说它是复位矢量、但不知怎么说、你的矢量正在工作。

    谢谢、
    Mario
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    韦恩、
    开始解决问题是否至关重要?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mario、

    您能否在此处添加/粘贴二进制文件的前几行?

    实际上、我不必触摸起始地址、它自动指向0x9010 (复位矢量)、应该是2404字。

    起始地址很重要、以下是 IMG_B 元数据的捕获:

    请注意、长度无效-我在发送前将其更改为21EC 字

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

    你好,Rebel,

    这是该二进制文件的前几行

    这是我的 IMG_B 元数据捕获。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否认为 IMG_B 由于未广播而出现了问题?
    当我下载代码并运行调试会话时、我也看不到它广播。 但是、当我从 FlashOnly"切换到 FlashROM 时、目标正在广播。

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

    您能否附加您的二进制文件以便我可以在我的目标上尝试它?

    谢谢、
    Mario
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mario、
    您询问了起始地址对于 ImgB 是否重要。 我认为没有。 我认为阻止下载的问题是版本号。
    我知道你现在已经过去了、但我想我会做出回应。
    我也不确定目标是否完全正常工作。 就是下载完成了。 我今天没有机会处理它。
    韦恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wayne、

    您如何告知我正在使用 cc2640r2 SDK?
    我实际上在使用 cc2650lp SDK。 现在、我想知道是否有东西被弄乱了。
    在 cc2640r2中、我唯一使用的是 BTool。 我的目标是 cc2650。

    谢谢、
    Mario
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mario、
    我很快就删除了我的帖子、因为我错误地解释了您的屏幕截图。
    看起来您是在看 app_oad.bin、它是通过 cc2640r2构建的、如 HxD 中所示。 但是、第二个方面是、您似乎已经将 app_oad.bin 复制到工具目录并加载了它。
    很抱歉。 我的差。
    韦恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wayne、
    不是问题,我希望你能找到一些东西,我对此感到很兴奋:)

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

    您好、Mario、

    我认为你是对的、可能是你的 IMG_B、我的附件(带 A)

    e2e.ti.com/.../application_5F00_img_5F00_b.hex

    /cfs-file/__key/communityserver-discussions-components-files/538/IMGA.hex

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

    你好,Rebel,

    我下载了 IMG_B、我的 BTool 告诉我元数据无效、因此我通过填充十六进制文件位置0x9000中的所有0xFFs 来创建自己的元数据。 然后、我使用 OAD 映像工具来生成我自己的元数据。
    然后我成功下载 IMG_B、看不到任何广播。

    然后、我使用闪存编程器刷写 IMG_A。 它广播 OAD 目标映像 A、一切都很好。

    然后、我再次使用 BTool 下载 IMG B、图像被拒绝。

    因此、使用 IMG_A 和 IMG_B、我甚至无法下载 IMG B。  

    您是否正在使用 launchpad?

    谢谢、
    Mario

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

    这实际上与我为使其正常工作所执行的过程相同-我将在今天晚些时候重新运行测试。

    是的、我在 launchpad 上执行此操作、在第二次下载时、它应该会被拒绝。 (因为版本号没有增加。)

    您使用什么进行扫描? 您的手机或 BTool? 我建议同时尝试这两种方法。

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

    你好,Rebel,

    我正在使用手机和 BTool 进行扫描。 它们都在我闪存后看到 IMG A。  

    您的 IMG B 有哪些有效的元数据值? 至少这就是 BTool 告诉我的内容。

    谢谢、
    Mario

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

    你好,Rebel,

    连接了我的 BLE 监听器、并注意到在我的图像被拒绝后、我又得到了一个"EEEEE"。 这是片外 OAD 的 UID。

    我以为我要得到"BBB"、因为它在我的标题中。  

    此致、
    Mario

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

    当插入元数据时、我并不是很正确-因此我最终通过 BTool 的编辑器使其有效。 (我在前面的说明中注意到、这是我快速完成它所得到的)

    您是否有 cc2640R2F launchpad? 我想说一下片上负载示例。

    您是否也可以在这里发布代码/十六进制文件、以便我可以尝试一下?

    虽然这种情况不太可能发生、但也可能是闪存页损坏。 (再次极不可能)

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

    我还必须修改 IMG_A 元数据-我应该刚刚创建了0xFF 并使用 BTool 进行修改

    使用正确的元数据再次拍摄

    此致、
    反叛分子

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

    你好,Rebel,

    很遗憾、我没有 cc2640R2F launchpad。 即使它确实起作用、我也希望它能够在 cc2640目标上运行、因为这就是我们的产品将要实现的目标。
    以下是文件。 我必须将扩展名更改为 txt 才能发布。

    谢谢、
    Mario

    e2e.ti.com/.../IMGA.txt

    e2e.ti.com/.../IMG-B.txt

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

    您的问题是否得到了解决? 我在通过 OAD 下载 img_B 时也遇到同样的问题。

    非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mabbas、
    我还没有解决这个问题。 反叛分子试图帮助他的目的,因为他似乎能够让他工作,所以我们试图弄清楚区别在哪里。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我能够再进一步移动一步。 此问题是由于图像版本造成的。 目标上已运行的映像的版本比您尝试通过 OAD 在目标上下载的映像的版本低。 我可以通过查看 BLE 监听器的日志来捕获这种情况。 因此、将图像版本提高到更高、我希望它能解决这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    今天上午我也做到了这一点。 BTool 告诉我映像不成功、因此我必须手动重新启动。 您的也是这样做了吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我还尝试了 BTool,但由于映像版本未升级,因此未成功。 您能告诉我如何更新 img_B 的映像版本吗? 它将解决问题。

    我从监听器日志中得知,img version 是问题的原因。

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

    您可以使用 BTool 递增版本号。 如果您输入版本为2、则应该能够开始传输。 我假设您使用的是 BTool。 在之前的一篇文章中、Wayne 和 Rebel 发布了该屏幕的屏幕截图、如果我回忆正确的话。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Rebel,

    我成功地使用您的 IMG A 和 IMG B 进行了下载。但是,当我使用自己的代码创建 IMG B 时,我不会获得简单的外设广播。 您是否正在使用 BLE SDK 2_02_01_18?

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

    BLE Device Monitor 会自动生成 OAD 标头或元数据信息。

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

    是的、我使用的是 BLE SDK 2.2.1 -这可能是内存问题。 应用程序是否在没有 OAD 预处理器 def 的情况下工作? (与常规应用一样?)

    没有太多的时间来重新挖掘这一点、但听起来好像你能够让我的图像正常工作。

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

    你好,Rebel,

    当我在 FlashROM 配置中运行应用程序时、它会起作用、但当我在 FlashOnly"中运行它时、它不起作用。
    如果我能够使您的图像正常工作、那么我的项目不会有问题?
    我已将 BLE SDK 安装到另一个目录中进行尝试、但我遇到了相同的问题。

    因为我能够使你的图像正常工作、所以现在我更加困惑。

    我注意到您的 IMG B 十六进制文件与我的文件不同,如果您没有对 SimplePeripheral 项目进行任何更改,它应该是相同的。

    您是否进行过任何更改(除了 commentin _imgHdr struct)或是否按原样使用了它?

    谢谢、
    Mario