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.

[参考译文] CC2340R5:串行引导加载错误"无效 Adddress"

Guru**** 2577335 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1573240/cc2340r5-serial-bootloading-error-invalid-adddress

器件型号:CC2340R5
Thread 中讨论的其他器件:UNIFLASH

工具/软件:

您好论坛、

我开发了一个用于串行代码加载的 GUI 应用程序。 一个二进制文件可以正常工作、但对于另一个二进制文件、我会从目标获得“无效地址“响应。

我生成了两个文件的串行数据的二进制转储,乍一看,一切看起来都很好。 我在下面附上一张图片供参考。

请帮助我了解导致此问题的原因或此处可能缺少的内容。

此致

Vaibhav

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

    尊敬的 Vaibhav:

    感谢您分享串行数据的详细信息和屏幕截图 — 这对诊断问题非常有帮助。

    您是否在使用默认器件 ROM SBL(串行引导加载程序)? -->如果是、则需要 在执行下载之前先发送 BLDR_CMD_CHIP_ERASE(命令 ID 0x24)。

    从 TRM (https://www.ti.com/lit/pdf/swcu195) 部分摘录:

    我怀疑工作实例(在屏幕截图的左侧)在一个已经被芯片擦除的设备上(要么是一个新的设备,要么芯片擦除的其他方式 — 可能是 uniflash ?),非工作实例(在屏幕截图的右侧)是在一个设备上,该设备以前被编程但尚未被芯片擦除。

    谢谢、
    Toby

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

    尊敬的 Toby:

    值得一提的是、我们发现了串行加载工具中的一个错误。 问题在于该工具将数据长度指定为一个字节太大、导致总字节计数超过闪存大小。

    我们的应用程序二进制文件从地址0x000000000x0007FFFF,它正确地对应于0x00080000字节—闪存的全部容量。 但是、该工具将数据长度设置为0x00080001、超出有效范围的一个字节。 因此、我们收到了0x43错误(无效地址)、目标器件会擦除相应的块。 因此、器件之后无法引导。

    它处理第一个二进制文件、因为其大小小于  0x0007FFFF。

    此致、
    Vaibhav