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.

[参考译文] CC2640R2F:如何使用 Uniflash 对 OAD 文件进行编程?

Guru**** 2590930 points
Other Parts Discussed in Thread: UNIFLASH, CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1035908/cc2640r2f-how-use-uniflash-to-program-oad-files

器件型号:CC2640R2F
主题中讨论的其他器件:UNIFLASHCC2640

您好!

IAR + Uniflash 在 CC2640中对 OAD 文件进行编程、如 UG 中所述。 它工作正常、但不方便。

现在、我想使用 Uniflash 将 OAD 文件(BIM、Stack、Persistent 和 App)编程到 CC2640。 我试过几次、但它不起作用。  

我认为 BIM 和 Stack 的地址必须不正确。 您能告诉我每一个的价值是什么? 在代码中的什么位置定义这些地址?  所有代码最初都是 基于 SDK_5_10_00_02的 simple_peripheral_oad_onchip。  

谢谢你。

此致、

Chu Victor

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

    尊敬的 Victor:

    这称为 创建生产映像BLE Enhanced OAD SimpleLink Academy 实验中也对此进行了介绍。

    此致、
    Ryan

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

    您好、Ryan、

    感谢你的善意帮助。 我也很抱歉耽误你的答复。

    我可以在相关来源中找到答案、似乎所有这些内容都基于 off_chip_oad。

    我正在研究 ON_CHIP_OAD、我想知道我能否通过 Uniflash 将4个代码(bim + app+ stack + persisten)一起编程、或者我是否可以使用 SRecord 先将这4个代码合并为一个代码、然后通过 Uniflash 对合并的代码进行编程。

    如果您能帮助我解决这个问题、您会觉得很好。

    再次感谢你。

    此致、

    Chu Victor

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

    您将需要使用 SRecord 组合堆栈+应用合并的二进制映像、持久应用二进制映像和 BIM 十六进制文件、或使用 Uniflash 完成所有三个单独文件的相同任务。  编程前、请务必擦除所有器件存储器。  如果您继续遇到问题、请发布您尝试使用的流程的屏幕截图。

    此致、
    Ryan

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

    您好、Ryan、

    我在 Uniflash 尝试过几次不同地址、二进制类型(十六进制或二进制)的情况下、因不同错误而失败。 我很确定所有这些二进制代码都可以。 我认为在程序序列、地址和二进制类型(十六进制或二进制)选择方面可能会出错。

    如果 您能更详细地解释 Uniflash 程序、那将会是您的好选择。 如果您可以附上 Uniflash 的屏幕截图、我将不胜感激。

    谢谢你。

    此致、

    Chu Victor

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

    您好、Victor、

    我将对此进行研究并很快采取后续行动。 在您最近的屏幕截图中、您似乎也在刷写持久性映像堆栈二进制文件、但不选择地址。 这可能是问题的根源。

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

    尊敬的 Ammar:

    我完全同意你的意见。 我实际上知道地址肯定有问题、但不知道如何解决。

    就像我的第一张机票一样、以下地址是什么? 代码中的设置在哪里?

    谢谢你。

    此致、

    Chu Victor

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

    您好、Victor、

    我将查看为每个项目生成的.map 文件、您将了解内存中的位置。 此外、您还可以引用存储器映射的.cmd 文件(在代码中)。 我会将这些项目与我们提供的文档进行交叉参考、以便更好地了解它们是如何相互关联并被映射的。

    请告诉我、如果您在此过程中遇到问题、我很抱歉、因为我还没有时间对此进行调查。

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

    尊敬的 Ammar:

    我了解您的情况。

    感谢您的提示。 我在 config 下的*。xcl 文件中找到了 ICALL_STACK0_START、OAD_TGT_FLASH_START 的定义。 但我仍然找不到 DEVICE_SIZE 和 BIM_SIZE 的定义、这是 BIM 的起始地址。 请告诉我它们在哪里?

    请查看这4个.map 文件。  所有代码均为原始代码、均来自 SDK5_10_00_02。 由于我无法在此处上传文件、因此请在项目"simple_peripheral_oad_onchip"中检查它们。

    顺便说一下、正如 Ryan 所说的、SRecord 工具可以将这4个文件合并为1。 请告诉我如何操作。 我认为这会对我有所帮助。

    谢谢!

    此致、

    Chu Victor

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

    您好、Victor、

    有关 BIM 存储器映射(即 BIM_SIZE)的更多详细信息、您必须检查 cc26xx_bim_R2.cmd 文件。

    [引用 userid="107378" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1035908/cc2640r2f-how-use-uniflash-to-program-oad-files/3850598 #3850598">顺便说一下、正如 Ryan 所说的、SRecord 工具可以将这4个文件合并为1。 请告诉我如何操作。 我认为这对我很有帮助。[/引述]

    查看我们的 Simplelink Academy 模块关于 BLE 增强型 OAD 的第四项任务

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

    尊敬的 Ammar:

    我检查 SRecord 的参考资源。 但是、它用于片外 OAD、并且只连接 BIM 和堆栈。

    srec_cat.exe vid/bim_oad_offchip_cc2640r2lp_app/FlashOnly"/ bim_oad_offchip_cc2640r2lp_app_FlashOnly"。hex -英特尔<CCS_WORKSPACE_LOC> /multi_role_c2640r2lp_app/FlashROM_StackLibrary/multi_role_cc2640r2lp_app_FlashROM_StackLibrary_oad_merged.bin -bin -o mute_role_hex -hex <CCS_WORKSPACE_LOC> <SREC_LOC>

    您能否告诉我如何将4个文件(App、Bim、Stack、Persistent)连接在一起? 我尝试了几次、如下所示:

    srec_cat.exe ./sp_oad_onchip_cc2640r2lp_bim_onchip_FlashOnly"。hex -英特尔./sp_oad_onchip_cc2640r2lp_app_FlashROM_unsecure_oad.bin -bin ./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly_unsecure.bin -bin ./sp_oad_onchip_cc2640r2lp_stack_FlashROM_unsecure_oad.bin -bin -o test.hex -英特尔

    出现的错误如下所示。 请帮我解决此问题。 (所有环境设置均正确。)

    D:\MyDocs\Working\ota\srecord 1.63>srec_cat.exe ./sp_oad_onchip_cc2640r2lp_bim_onchip_FlashOnly".hex -intel ./sp_oad_onchip_cc2640r2lp_app_FlashROM_unsecure_oad.bin -bin ./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly_unsecure.bin -bin ./sp_oad_onchip_cc2640r2lp_stack_FlashROM_unsecure_oad.bin -bin -o test.hex -intel
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000000值(0x4F)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000001值(0x41)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000002值(0x44)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000003值(0x20)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000004值(0x49)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000005值(0x4D)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000006值(0x47)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:警告:冗余0x00000007值(0x20)
    srec_cat:./sp_oad_onchip_cc2640r2lp_persistent_app_FlashOnly" unsecure.bin:
    0x00FF:多个0x00000008值(之前的= 0x99、这个= 0xFF)

    谢谢你。

    此致、

    Chu Victor  

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

    尊敬的 Victor:

    Ammar 目前不在办公室。 我建议打开一个新主题、对您的剩余问题进行讨论。  

    感谢您的理解。

    此致、