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.

[参考译文] PROCESSOR-SDK-AM335X:是否有方法可以刷写/擦除 SPI 闪存、不提供 UART 引导支持并更改 HW SYSBOOT

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/988385/processor-sdk-am335x-is-there-a-way-to-flash-erase-spi-flash-w-o-uart-boot-support-and-changing-hw-sysboot

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3352UNIFLASH

您好!

我现在正在使用 am3352定制板。

我当前使用 UART 将 FW 加载到 RAM、然后使用 u-boot SF 命令将 FW 刷写到 SPI。 然后、可以在下一个引导周期从闪存加载 FW。

因此,sysboot 配置设置为 SPI->PIOT->UART。

但是、如果我将损坏的 u-boot 刷写到闪存中、则电路板将不再可用。  此时、我必须擦除闪存。

(从 SPI 引导然后卡住的示例日志。)

Fullscreen
1
2
3
4
5
6
7
8
9
U-Boot SPL 2018.01-00558-gcd25eb3-dirty (Mar 16 2021 - 18:37:41)
Trying to boot from SPI
U-Boot 2018.01-00558-gcd25eb3-dirty (Mar 16 2021 - 18:37:41 +0800)
CPU : AM335X-GP rev 2.1
Model: TI AM335x PG MAIN
DRAM: 128 MiB
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我看到过一篇介绍如何通过 JTAG ICEv2接口(链接)擦除闪存的文章、但 文件:Isdk SPI flasher.zip 链接已断开。

我还尝试过 UNIFLASH 脚本(参考)、但它在连接阶段总是失败、尽管通过 CCS 进行连接总是成功的。 (BTW、GUI 工具是否支持 AM335x 系列?)

 >dslite.bat --mode load --config=C:\Users\howardshih\ti\ccstargetConfigurations\AM335x_PG9Y.ccxml -f C:\ti\uniflash_6.2.0\processors\FlashWriter\icev2AM335x\UART_icev2AM335x_flash_programmer.out -n


3.5.1.4.2. JTAG 负载

3.5.1.4.2.1. Uniflash CLI JTAG 加载

按照以下步骤、使用 Uniflash CLI 通过 JTAG 下载闪存编程器

  • 将目标平台的引导模式配置为‘No Boot’(无引导)或‘JTAG mode’  (JTAG 模式)<--我想这就是原因。 电路板启动。 但是、如何在不更改硬件的情况下配置引导模式?

我想知道是否有一种方法可以刷写/擦除 SPI 闪存、既不更改硬件、也不支持 UART 引导。

谢谢!

-霍华德

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

    您好 Howard、

    对于 SPI 闪存器:
    我提交了补丁 来修复"AM335x ICEv2闪存擦除"软件文档、但它们尚未上线。 现在、请参阅我对线程"无法找到 SPI 闪存编程器"的响应: https://e2e.ti.com/support/processors/f/processors-forum/972473/tmdsice3359-unable-to-locate-spi-flash-programr

    我将此内容重新分配给我们的 Uniflash 所有者、以便对您的问题的这一部分进行评论。

    此致、

    Nick

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

    您好、Nick、

    感谢你的答复。 我已经下载了程序。

    在执行期间、我遇到了错误。

    Fullscreen
    1
    2
    3
    4
    5
    [CortxA8]
    AM335x ISDK Flasher Version - 2.0.1 for ICEv2
    SPI id selected - 0
    Unknown manufacturer ID read: 0xc2.
    Unable to read the correct Device ID/Manuf ID.Exit
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    程序似乎无法识别闪存?

    我使用的是 Macronix 的 mx25l25635f。

    /* Macronix */
    {"mx25l2005a"、信息(0xc22012、0、64 * 1024、4、 sect_4K)}、
    {"mx25l4005a"、信息(0xc22013、0、64 * 1024、8、 sect_4K)}、
    {"mx25l8005"、信息(0xc22014、0、64 * 1024、16、 0)}、
    {"mx25l1606e"、信息(0xc22015、0、64 * 1024、32、 sect_4K)}、
    {"mx25l3205d"、信息(0xc22016、0、64 * 1024、64、 0)}、
    {"mx25l6405d"、信息(0xc22017、0、64 * 1024、128、 0)}、
    {"mx25l12805d"、信息(0xc22018、0、64 * 1024、256、 0)}、
    {"mx25l12855e"、信息(0xc22618、0、64 * 1024、256、 0)}、
    {"mx25l25635e"、信息(0xc22019、0、64 * 1024、512、 0)}、
    {"mx25l25655e"、信息(0xc22619、0、64 * 1024、512、 0)}、
    {"mx66l51235l"、信息(0xc2201a、0、64 * 1024、1024、 0)}、

    参考 从 MX25L25635E/25735E 迁移到 MX25L25635F/25735F

    谢谢!

    -霍华德

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

    您好 Howard、

    我不确定我们是否还有 AM335x ICEv2闪存器的源代码、但我可以查看一下。 我很确定它不是在编写时考虑到定制板。

    我们的 Uniflash 所有者将很快回复您的这一半问题。

    此致、

    Nick

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

    对于 uniflash、我还关注了该主题 https://e2e.ti.com/support/tools/ccs/f/code-composer-studio-forum/855218/faq-ccs-command-line-uniflash---erase-only

    运行 CCS ->启动.ccxml ->连接 Cortex A8 ->运行命令。 错误日志附在下面。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\ti\uniflash_6.2.0>dslite.bat -c C:\Users\howardshih\ti\CCSTargetConfigurations\AM335x_PG9Y.ccxml -a Erase
    Executing the following command:
    > "C:\ti\uniflash_6.2.0\deskdb\content\TICloudAgent\win\ccs_base\DebugServer\bin\DSLite" flash -c C:\Users\howardshih\ti\CCSTargetConfigurations\AM335x_PG9Y.ccxml -a Erase
    For more details and examples, please refer to the UniFlash Quick Start guide.
    fatal: IcePick_D_0: Error connecting to the target: (Error -151 @ 0x0) One of the FTDI driver functions used during the connect returned bad status or an error. The cause may be one or more of: no XDS100 is plugged in, invalid XDS100 serial number, blank XDS100 EEPROM, missing FTDI drivers, faulty USB cable. Use the xds100serial command-line utility in the 'common/uscif' folder to verify the XDS100 can be located. (Emulation package 9.3.0.00032)
    Failed: Operation was aborted
    C:\ti\uniflash_6.2.0>
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    希望这些信息能有所帮助。

    -霍华德

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

    您好 Howard、

    我将向我们的 CCS 专家介绍连接错误。

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

    您好 Howard、

    请检查以下链接是否有助于解决 CCS 问题。

    software-dl.ti.com/.../ICE_AM335x_Hardware_Setup.html

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

    您好、Bin、

    连接问题仅出现在 CMD 上。 (CCS 正常)

    也许我们应该编写一个 CCS 程序来写入闪存? (是否有任何教程或示例代码?)

    -霍华德