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.

[参考译文] CCS/RM57L843:RM57L843 HDK 闪存问题

Guru**** 2618835 points

Other Parts Discussed in Thread: RM57L843, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/768016/ccs-rm57l843-rm57l843-hdk-flash-issue

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

工具/软件:Code Composer Studio

大家好,

我使用的是 RM57L843 HDK、我使用 Uniflash 擦除了完整闪存。

现在,我无法使用 CCS 或 IAR 对其进行调试,每次我尝试都收到目标字节序不匹配的消息。

然后,当我将字节序更改为 be32时,对于 RM57来说是错误的,我会收到一条消息,说明我的仿真器板文件无法打开。

如果我再次尝试擦除闪存,它就会一直停留在那里。

是否有线索?? 如何解决此问题?

此致,请参阅随附的图片  

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

    请参见下一张图片  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    您是否看过 JTAG 调试问题故障排除指南? 具体检查以下链接的#9 (适用于 Hercules 的器件):
    software-dl.ti.com/.../ccsv7_debugging_jtag_connectivity_issues.html

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

    你好,Ki-Soo,

    同时或依次按下 HDK 即 S4和 S3上的 RESET 可解决此问题。  

    这个问题的主要原因是在调试会话期间主电源暂时关闭,这导致另一个内核阻止闪存的编程。

    对于使用此板的每个人,请将电源插入 UPS 电源输出,以防止断电。

    此致、Ahmed

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmed、
    很高兴听到您能够解决此问题、并感谢您的更新和分享您的解决方案!

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

    您好,Ki,

    当我尝试下载和调试时,无论它是 IAR 还是 CCS,它都已停止工作:

    它说字节序不匹配它应该是 BE32,这是错误的,因为 RM57L843是小端字节序。

    2.当我更改字节序时,它表示目标在内存位置0x000020位置不匹配。

    我可以使用 UniFlash 读取整个内部闪存。

    当我擦除 RM57的整个内部闪存时,这个问题就开始了,原因就是这样。

    现在如何恢复,如何重新编程????

    帮助?????

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmed、
    由于 CCS 或 IAR 都发生这种情况、这听起来更像是硬件配置问题、而不是 CCS 问题。 我将提请器件专家注意此主题

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

    您好,Ki,

    请这样做,我需要尽快解决这个问题,我的老板真的很生气,为什么我擦除了它的整个闪存。

    此致,

    Ahmed  

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

    请检查您的代码项目定义、CCS 或 IAR。 确保您选择了正确的目标器件型号和字节序。

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

    您好,Sunil,

    请参阅随附的我选择的目标 MCU 和 JTAG 接口的屏幕截图。

    在 Uniflash 中,我能够检测到器件以及 JTAG 电缆(如 XDS100v2),还可以读回闪存。

    但我无法擦除闪存或对其重新编程。

    此致,

    Ahmed  

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

    还有 JTAG 电缆  

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

    使用 Uniflash 0x00000000读取 RM57的闪存

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

    现在我读取闪存结束地址、即0x002FFFFF

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

    Ahmed、

    闪存存储器当然不会被擦除。 闪存中的代码很可能会将处理器程序状态寄存器(CPSR)中的"数据字节序"位配置为"大端序"、这就是为什么在尝试以小端字节序模式执行另一个闪存操作时会出现错误的原因。

    您现在选择在执行任何其它操作之前擦除闪存存储器。 您能否使用 Uniflash 擦除闪存、然后对器件进行上电复位? 然后、您可以将其他代码编程到器件中、确保 CPSR 中的"数据字节序"配置与您正在使用的器件的配置相匹配(对于 RM57x、为小端字节序)。

    此致、
    Sunil

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

    您好、Sunil、

    按照指示,我再次尝试擦除闪存,它会像永远一样卡住。

    请参阅屏幕截图。

    此致,

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在这个过程中将其保留了30分钟以上
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在长时间的擦除过程中,我按了上电复位。

    请参阅屏幕截图  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经用屏幕快照回答说完全擦除闪存不起作用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmed、
    控制台中的错误消息表示 JTAG 连接问题。 当 CPU 进入一个优先级高于进入一个调试状态的异常状态时、通常会发生这种情况。 从该状态恢复的唯一方法是擦除器件。 此外、您还需要使 JTAG 仿真器能够在 CPU 进入此异常状态之前停止 CPU。 因此、请在 CCS 中按照此序列尝试擦除在器件中编程的代码。

    1.打开目标配置窗口,然后启动选定的配置
    2.切换到调试窗口
    3.按住 RESET (nRST)按钮
    4.释放 nRST 按钮后,立即单击“连接目标”
    5.尝试几次后应连接电路板

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

    您好、Sunil、

    我能够连接并运行 MCU,但我不能跳转断引脚 ,也  无法从 CCS 擦除。

    请参阅随附的屏幕截图。

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

     尝试擦除闪存

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

     我在擦除时遇到错误

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ahmed、
    您是否能够连接到器件并停止 CPU?

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

    您好,Sunil,

    我所采取的步骤如下:

    我打开该项目并单击.ccxml 文件,右键单击该项目并启动目标配置。

    请参阅随附的屏幕截图。

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

     右键单击.ccxml 文件

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

    启动 Target Configuration 后,我将进入调试窗口。

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

     然后按 nRST 键,继续按键,一旦松开,就连接到 Target

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

     之后,我看到此窗口,即启用了播放和停止图标

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但是,当我按下绿色的播放图标后,程序不会跳转至我在 main()中定义的断点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     我只能看到这个窗口

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

     如果我不是按播放,而是单击调试图标,我将收到此消息

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

     单击 Yes (是)、我将获得此信息

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尽管我现在已将字节序设置为"小"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    右键单击 CCS 项目并确认字节序为"小"。 此外、请确保此项目中使用的目标配置文件(*。ccxml)选择正确的器件型号。

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

    您好,Sunil,

    是的,我设置为小端字节序,请参阅随附的图片。

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

    当我右键单击.ccxml 文件时,我看不到目标 MCU 的任何选项,我只看到调试接口下拉菜单

    请参阅随附的图片。

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

     我还尝试了单步执行,但它是从地址0x00000600到0x00000700单步执行的,并回路回路。

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

    因此没有解决此问题的办法,我无法擦除闪存并再次使用此主板??????

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    连接到 CPU 并停止后,使用“Run”(运行)-->“Reset”(重置)-->“System Reset”(系统重置)重置系统。 然后、在复位矢量(地址0x0)停止代码执行的情况下、执行擦除整个闪存存储器的命令。

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

    我按照您的步骤操作、查看随附的图片  

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

     步骤2.

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

     步骤3.

    这是我单击“擦除整个闪存......”的时候

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

    我不明白为什么我无法擦除内部闪存、尽管它跳至0x0000000??????   它连接到目标?????

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ahmed、
    很抱歉耽误你的回答。 我们目前正在调查此问题的潜在原因。 一旦我收到更新、我会立即通知您。

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

    Ahmed、

    在连接到器件之前、您能否尝试转到片上闪存选项并启用"连接时系统复位"选项? 这有助于将器件置于"良好"状态、并有助于解决此类问题。

    如果这不起作用、请重新出现启用调试服务器日志记录的问题。 压缩日志并将其附加到此主题中:

    http://processors.wiki.ti.com/index.php/Troubleshooting_CCSv7#Debug_Server_Logging

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我没有听到您的反馈,因此这个问题已经解决了。 如果您希望继续讨论、请在下面发布包含更新的回复(或创建新主题帖)。

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

    你好,Ki-Soo,

    我曾尝试重新调试过电路板,但现在突然我无法连接到目标。

    我正在研究它,会给你一个反馈。

    此致  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ahmed、
    您是否有幸连接到目标并尝试"连接时系统重置"选项?

    谢谢
    Ki