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.

[参考译文] AMIC110:固件更新

Guru**** 2539500 points
Other Parts Discussed in Thread: AMIC110, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/908131/amic110-firmware-update

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

您好!

我计划使用 NAND/NOT FLASH 启动 AMIC。

我将相应地设置 Amic sysboot 引脚。

我还需要注意哪些其他事项?

但是、我如何在 Nand/NOR 闪存中更新固件?

生产时在闪存中上传固件需要哪些外设?

此致、

Vrund

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

    请发布您使用的处理器 SDK - Linux 或 RTOS?

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

    您好!

    RTOS

    此致、

    Vrund

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

    您好!

    等待响应。

    我使用的是 AMIC 110 RTOS SDK。

    如何对连接到 amicc110的闪存(固件的应用程序部分)进行编程?

    此致、

    Vrund

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

    您好!

    是否可以在生产时使用 JTAG 使用 Uniflash 工具使用应用程序+引导二进制文件对 Nand 闪存进行编程?

    在哪里可以找到 nand flash 的二进制引导文件?

    此致、

    Vrund

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

    尊敬的 Vrund:

    请访问 :https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/AM335X/rtos/index_board.html#supported-platforms

    根据该表、Uniflash 不支持 NAND 闪存编程。 很抱歉为您提供误导性信息。

    >>在生产时是否可以使用 Uniflash 工具使用 JTAG 使用应用程序+引导二进制文件对 Nand 闪存进行编程?

    Uniflash 支持通过 JTAG 加载闪存编程器。 但是、次级引导加载程序(SBL)和应用程序映像必须通过 UART 下载。

    通过使用 CCS 和调试服务器脚本(DSS)、可以在 以下位置实现 NAND 闪存优化过程的自动化:https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/AM335X/rtos/index_Foundational_Components.html#booting-via-nand

    有关 DSS 的信息可在以下位置获取: https://software-dl.ti.com/ccs/esd/dcuments/users_guide/sdto_dss_handbook.html

    >>在哪里可以找到 Nand 闪存的二进制启动文件?

    我假设您是指 SBL 图像。 文件夹中提供了调试和释放模式预构建 \packages/ti\starterware\binary\bootloader\bin\AM335x-evm\gcc:

    • bootloader_boot_nand_a8host_debug_ti.bin:调试模式、_ti.bin 格式(格式化为与 ROM 引导加载程序一起使用)
    • bootloader_boot_nand_a8host_release_ti.bin:发布模式、_ti.bin 格式(格式化为与 ROM 引导加载程序一起使用)

    此致、
    弗兰克

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

    你(们)好

    请在下面更正我的理解。

    1) 1)在基于系统旋转设置的主引导加载程序(位于 AMIC110内部)上电后、决定从何处引导。(例如 Nand FLASH)

    2) 2)做出决定后、次级引导加载程序(位于 nand flash 中)将控制和引导应用程序映像(位于 nand flash 中)、并将控制权交给 DDR。

    我将从您上面提到的 Reply.right 链接获取的次级引导加载程序文件。

    我不必对预编译的调试或发布文件进行任何更改。 正确吗?

    现在、我了解了如何使用 SBL 和应用程序对 Nand 闪存进行编程。

    从表中我了解到、在 AMIC110 ICE 评估板上、无法使用 Uniflash 工具对(SBL+应用) Nand 闪存进行编程。对吧?

    但是 、它是否仅适用于所有 AMIC110或特定于 AMIC 110 ICE EVM?

    表中 OSPI 和 EMMC 的含义是什么?

    部分。

    4.6.3.1.8.5.通过 NAND 引导

    从 NAND 引导涉及两个步骤。

    正在准备闪存设备

    引导目标。

    正在准备闪存设备

    为 NAND 引导模式设置配置引导引脚

    将目标与 CCS 连接。 通过 xds100v 或使用 xds200将电路板连接到 PC。 对吗?

    如果按照 SBL 和应用的过程、可以使用上述方法将其编程为 nand flash、那么为什么需要 UARR?

    您能更详细地解释以下陈述。

    " Uniflash 支持通过 JTAG 加载闪存编程器。 但是、次级引导加载程序(SBL)和应用程序映像必须通过 UART 下载。"

    此致、

    Vrund

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

    尊敬的 Vrund:

    >> 1)基于系统旋转设置的主引导加载程序(位于 AMIC110内部)上电后、将决定从何处引导。(例如 Nand FLASH)
    >> 2)确定后、次级引导加载程序(位于 nand flash 中)控制并引导应用程序映像(位于 nand flash 中)、并控制 DDR。

    是的、在以下位置进行了说明: https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/AM335X/rtos/index_Foundational_Components.html#boot-sequence

    >>我将从您上面提到的 Reply.right 链接获取的次级引导加载程序文件?
    >>并且我不必对预编译的调试或发布文件进行任何更改。 正确吗?

    这是一个在 TI 参考平台上工作的预构建 SBL。 通常需要为定制硬件平台修改电路板库(由 SBL 使用)。 下面随附的文档对此进行了说明。

    >>表中 OSPI 和 EMMC 的含义是什么?

    OSPI:OSPI 是"八进制 SPI"、在表中的某些器件上可用、但 AMIC110不可用。

    eMMC:

    >>从表中我了解到、在 AMIC110 ICE 评估板上、无法使用 Uniflash 工具对(SBL+应用) nand 闪存进行编程。对吧?

    正确。

    >>但它是否适用于所有 AMIC110或仅适用于 amic110 ICE EVM?

    我已经看到 NAND 闪存通过 GPMC 连接到 AM335x/AMIC110、表中没有提到这一点。 我已经看到 eMMC 闪存通过 MMDSD 连接到 AM335x、但对于任何 TI 参考平台、表中都没有提到这一点。 我在一个同事中就 AMIC110的 Uniflash 功能发表了更多评论。

    >>通过 xds100v 或 xds200将电路板连接到 PC。 对吗?

    正确。

    >>如果按照 SBL 和应用程序的过程可以使用上述方法将其编程为 nand flash、那么为什么需要 UARR?

    Uniflash 提供了一种无需 JTAG/CCS 的闪存编程方法。

    >>" Uniflash 支持通过 JTAG 加载闪存编程器。 但是、次级引导加载程序(SBL)和应用程序映像必须通过 UART 下载。"

    此处对此进行了全面说明:

    此致、
    弗兰克

    e2e.ti.com/.../3225.AM335x_5F00_AMIC110_5F00_Board_5F00_Porting_5F00_using_5F00_PRSDK.pdf

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

    您好!

    感谢您的回复。

    我对这一进程有很好的了解。

    以下是要点。

    1) 1)可以使用 Uniflash 工具通过 JTAG 下载闪存编程器。

    2) 2)对于 SBL 和应用编程、必须使用 UART 接口。 因为 Uniflash 工具和闪存编程器仅使用 UART 进行通信。

    3) 3) SBL 二进制文件需要修改以用于定制硬件平台。

    4) 4)闪存编程器在执行擦除命令时不会擦除自身(来自 FAQ)。 但可以擦除 SBL。

    如果我错了、请更正以上问题。

    请回答以下问题。

    1)根据以上信息,我可以在生产时对硬件进行编程。

    但是、当硬件在现场或客户现场时、如何仅对应用固件进行编程? 为此,我需要 Uniflash 工具吗?

    能否使用我选择的 UART 通过应用程序映像对 Nand 闪存进行编程?

    2) 2) 我将使用以太网端口来实现 EIP 应用以及 http 应用。

    我还想使用 ethrnet 端口使用应用程序映像对 Nand 闪存进行编程。 有可能吗? 如何实现?

    3) 3)我想在应用程序运行时使用 Nand 闪存作为数据存储。 以便在运行时应用程序可以从 Nand 闪存进行读取和/或写入。 有可能吗? 如何实现?

    此致、

    Vrund

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

    [引用用户="Frank Livingston ]我看到 NAND 闪存通过 GPMC 连接到 AM335x/AMIC110、这在表中没有提到。 我已经看到 eMMC 闪存通过 MMDSD 连接到 AM335x、但对于任何 TI 参考平台、表中都没有提到这一点。 我在一个同事中发表了更多有关 AMIC110的 Uniflash 功能的评论

    关于向 Uniflash 添加 NAND 支持、请参阅以下文章 :https://e2e.ti.com/support/microcontrollers/other/f/908/p/897221/3317110#3317110

    对于通过 Uniflash 刷写 eMMC、 有示例代码可访问位于 pdk_am335x_x_y_z/packages/ti/starterware/examples/mmcsd 中的 AM335x RTOS SDK 的 MMC 模块部分。 但与添加 NAND 支持的链接帖子中类似、移植和工作需要一些时间。 此外、当您谈论 eMMC 时、它通常意味着更大的图像、而不是您真正想要通过 UART 链路 IMHO 传输的图像。

    您的电路板上是否有 DDR? 如果是、我建议将 U-Boot 移植到电路板、即使它仅用于 NAND 或 eMMC 编程解决方案。 它还为您提供免费的网络支持、以便快速传输图像。

    此致、Andreas

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

    您好!

    我不会使用 EMMC 闪存。

    我不打算使用 Uniflash 工具向 Nand 闪存添加对 SBL+应用编程的支持。

    我将使用以下方法。

    1) 1)使用 CCS 工具、通过 Uniflash 工具和硬件之间的 JTAG 接口、使用闪存编程器二进制文件对 Nand 闪存进行编程。

    2) 2)我将使用闪存编程器和 Uniflash 工具之间的 UART 接口对 SBL+应用程序映像进行编程。(命令行输入/输出)

    有关步骤1的查询。

    提供用于使用 JTAG 接口对 nand 闪存进行编程的闪存编程器二进制文件仅适用于 EVM、还是适用于所有其他定制硬件板?

    我是否必须为我的定制板修改给定的闪存编程器二进制文件。

    有关步骤2的查询。

    在对 SBL+应用程序映像进行编程时、正在使用 UART 引导模式。对吧?

    成功编程后、我需要设置 nand 引导模式。 对吧?

    以下是要点。如果我错了、请予以更正。

    1) 1)可以使用 Uniflash 工具通过 JTAG 下载闪存编程器。

    2) 2)对于 SBL 和应用编程、必须使用 UART 接口。 因为 Uniflash 工具和闪存编程器仅使用 UART 进行通信。

    3) 3) SBL 二进制文件需要修改以用于定制硬件平台。

    4) 4)闪存编程器在执行擦除命令时不会擦除自身(来自 FAQ)。 但可以擦除 SBL。

    还请回答以下问题。

    1)根据以上信息,我可以在生产时对硬件进行编程。

    但是、当硬件在现场或客户现场时、如何仅对应用固件进行编程? 为此,我需要 Uniflash 工具吗?

    能否使用我选择的 UART 通过应用程序映像对 Nand 闪存进行编程?

    2) 2) 我将使用以太网端口来实现 EIP 应用以及 http 应用。

    我还想使用 ethrnet 端口使用应用程序映像对 Nand 闪存进行编程。 有可能吗? 如何实现?

    3) 3)我想在应用程序运行时使用 Nand 闪存作为数据存储。 以便在运行时应用程序可以从 Nand 闪存进行读取和/或写入。 有可能吗? 如何实现?

    此致、

    Vrund

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

    您好!

    我不打算使用 EMMC。

    我不打算增加对使用 Uniflash 工具对 SBL+应用程序进行编程的支持。

    我对这一进程有很好的了解。

    以下是要点。

    1) 1)可以使用 Uniflash 工具通过 JTAG 下载闪存编程器。 此时的引导模式将为无。 对吧?

    2) 2)对于 SBL 和应用编程、必须使用 UART 接口。 因为 Uniflash 工具和闪存编程器仅使用 UART 进行通信。

    在此步骤中、引导模式是什么。 是 UART 吗?

    3) 3) SBL 二进制文件需要修改以用于定制硬件平台。

    4) 4)闪存编程器在执行擦除命令时不会擦除自身(来自 FAQ)。 但可以擦除 SBL。

    如果我错了、请更正以上问题。

    请回答以下问题。

    1)根据以上信息,我可以在生产时对硬件进行编程。

    但是、当硬件在现场或客户现场时、如何仅对应用固件进行编程? 为此,我需要 Uniflash 工具吗?

    能否使用我选择的 UART 通过应用程序映像对 Nand 闪存进行编程?

    2) 2) 我将使用以太网端口来实现 EIP 应用以及 http 应用。

    我还想使用 ethrnet 端口使用应用程序映像对 Nand 闪存进行编程。 有可能吗? 如何实现?

    3) 3)我想在应用程序运行时使用 Nand 闪存作为数据存储。 以便在运行时应用程序可以从 Nand 闪存进行读取和/或写入。 有可能吗? 如何实现?

    此致、

    Vrund

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

    您好!

    1)可使用 Uniflash 工具通过 JTAG 下载闪存编程器。 此时的引导模式将为无。 对吗?[/报价]

    是的、引导模式将为无。 请参阅: 请参阅 https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/AM335X/rtos/index_board.html#uniflash-execution-steps

    [引用 user="Vrund Rana">此步骤中的引导模式是什么。 是 UART 吗?

    由于闪存编程器已通过 JTAG 下载、因此无需引导。 闪存编程器通过 UART 接收 SBL 和应用程序映像、并将映像编程到闪存中。

    [引用 user="Vrund Rana">但是,当硬件在现场或客户站点时,如何仅对应用固件进行编程? 为此,我需要 Uniflash 工具?

    Uniflash 需要 UART、并且仅支持 AMIC110器件的 SPI 闪存。 我建议的 DSS 方法需要 JTAG 连接、但支持 NAND 闪存。  必须使用这两种方法之一、或者必须开发定制软件。

    [引用 user="Vrund Rana"]我是否可以使用我选择的 UART 通过应用程序映像对 nand 闪存进行编程?

    Uniflash 使用的 UART 应用程序加载程序使用特定的 UART、需要进行修改以支持不同的 UART。

    [引用 user="Vrund Rana">我还想使用 ethrnet 端口使用应用程序映像对 nand 闪存进行编程。 有可能吗? 如何?[/报价]

    处理器 SDK-RTOS 不支持此功能。 必须为此目的开发软件。

    [引用 USER="Vrund Rana]3)我想在应用程序运行时使用 nand flash 作为数据存储。 以便在运行时应用程序可以从 Nand 闪存进行读取和/或写入。 有可能吗? 如何?[/报价]

    这应该可以使用 GPMC 驱动程序来实现。 请访问 :https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/AM335X/rtos/index_device_drv.html#gpmc

    此致、
    弗兰克