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.

[参考译文] TMS320C6748:对8位总线 NAND 闪存芯片进行编程时用于 OMAP-L138挂起的串行闪存加载实用程序

Guru**** 2925100 points

Other Parts Discussed in Thread: OMAP-L138

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/665109/tms320c6748-serial-flash-loading-utility-for-omap-l138-hanging-when-programming-an-8-bit-bus-nand-flash-chip

器件型号:TMS320C6748
主题中讨论的其他器件:OMAP-L138

重新编译"TI 串行 Flasher 主机程序用于 OMAP-L138 "版本2.40时遇到问题-在"将应用程序编程到闪存中..."的过程中、它挂起 步骤。

背景:
我们有一个使用 C6748 DSP 芯片的定制板。 该板最近从16位 NAND 闪存芯片切换到8位 NAND 闪存芯片、该芯片用作我们固件的启动器件。 我们一直在使用串行闪存器主机程序在16位 NAND 闪存芯片上成功加载固件。

我们的位置:
-我浏览了一些其他论坛帖子(链接)和工具的 wiki (链接)、并在将"device_async_mem.h"更改为将 DEVICE_ASYNC_MEM_NANDBOOT_BUSWIDTH 设置为(DEVICE_BUSWIDTH_8BIT)后成功构建了实用程序。 这是在运行"make clear"后完成的、并从 GNU 文件夹中执行"make"。

-作为完整性检查、我重新编译了实用程序的原始源代码以确保工具链不是问题-这是有效的、我能够刷写旧的16位总线宽度 NAND 闪存芯片。

-我创建了一个小型 Flasher 固件应用程序,可以使用 CCS 通过 JTAG 调试器加载。 它从 SD 卡读取固件映像并对 NAND 闪存芯片进行编程、这是成功的。 我们将其用作备用解决方案、但生产不需要访问源代码库/CCS/调试器即可在电路板上初始加载固件。

-我们使用的新的8位芯片是 MT29F2G08ABAEA。 我们使用的旧16位芯片是 MT29F4G16ABADA

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    团队将收到通知。 他们将直接在此处发布反馈。

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

    该实用程序应该已经支持8位和16位 NAND、因为 TI EVM 具有8位 NAND、而 LCDK 平台具有16位 NAND。

    与非门
    sfh_OMAP-L138.exe -targettype C6748 -flashType NAND -p " "

    与非门
    sfh_OMAP-L138.exe -targettype C6748_LCDK -flashType NAND -p " "

    这同样适用于基于 CCS 的 NANDWriter 代码、该代码位于 OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\ccs\NANDWriter 中
    同一个 NAND 写入器在8位和16位 NAND 上都工作、唯一的变化是 nadwriter.c 中的以下变化

    //#define NANDWIDTH_16
    #define NANDWIDTH_8

    请n`t 一下、并告诉我们这是否起作用。

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

    这不奏效。

    使用 C6748目标类型时、应用程序会在"等待 OMAP-L138上的 SFT ..." 线。 可能有与2个目标类型相关的不同时钟/ DDR RAM 设置不兼容? 另请注意、我们使用 的是-flash_noubll 关键字。

    我尚未尝试构建/使用 NANDWriter -从我可以看到的内容中、它通过 CCS 中的调试器加载。 是这样吗? 如果是这种情况、我们可以仅使用我们已经具有的 CCS 编译配置来实现该目的。

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

    EVM 使用 mDDR、而 LCDK 使用 DDR2存储器。 这两个器件应n`t 相同的时钟配置、因此无关紧要。

    是的、需要使用 JTAG 调试器和 CCS 加载和运行 NAND 写入器。  请注意、软件包中提供的工程是 CCSv3.3工程。

    下面是一个使用 CCSV7构建此配置的文档。

    e2e.ti.com/.../Building_5F00_CCS_5F00_based_5F00_Flash_5F00_Writers_5F00_Serial-Flash_5F00_and_5F00_boot_5F00_Utilities_5F00_in_5F00_CCSv7.docx

    此致、

    Rahul

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我应该注意的是、这是在定制板上、而不是其中一个评估板上。 我们使用的是 DDR2、它可能会解释使用"-targetType C6748"时的问题?

    在更改电路板上的 NAND 闪存芯片时、除了"device_async_mem.h"和 device_ASYNC_MEM_NANDBOOT_BUSWIDTH 宏之外、您还能想到 sfh_OMAP-L138.exe 代码中需要更改的其他任何位置吗? 也许有一个地方将时序/参数映射到器件 ID? 我没有找到这样的东西,但我还没有深入地研究过守则。

    正如我说过的、我们已经有一个 CCS 构建配置、使用我们自己的针对这个电路板的代码库、通过 JTAG 调试器将二进制文件加载到 NAND 闪存中(它从 SD 卡读取.bin 文件并将其写入 NAND 闪存)、 因此、调查 NAND 写入器没有什么意义(除非它可以指向 SFH_OMAP-L138.exe 问题的根源)。

    谢谢、

    Chris