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:为 Atmel 数据闪存提供 U-boot 支持

Guru**** 2553980 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/596943/processor-sdk-am335x-u-boot-support-for-atmel-data-flash

器件型号:PROCESSOR-SDK-AM335X

在最新 uboot 上启用 Atmel DataFlash 选项会导致 SPL 在传输约400KB 后挂起。 这种情况发生在 TI 的 Git 站点以及 DENX 的最新版本上。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供有关您正在尝试执行的操作的更多详细信息? 您是否试用过官方 SDK 版本: www.ti.com/.../PROCESSOR-SDK-AM335X
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是 TI git 站点上的2016.05内部版本、该版本在评估板上加载正常。 我的理解是,为了支持 Atmel SPI DataFlash 部件,我需要在 uBoot 中配置“驱动程序模型”的使用,否则在运行 make menuconfig 时不会显示 Atmel DataFlash 选项。 我使用的 Uboot 版本以及您参考的版本似乎没有 Atmel_SPI.c 的 DM 识别版本 我希望能够通过串行端口使用 uBoot 进行初始引导、然后使用 Uboot 对 SPI 闪存进行编程。 我从 TI 和 DENX Uboot 站点获得了最新版本、并尝试为 AM335x_defconfig 目标进行构建。 我能够加载 SPL、并且可以开始加载 uboot.img 文件、但后者在传输约400KB 后停止加载(与此数字略有不同)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    尝试在 menuconfig 中启用这两个选项、以添加对各种 Atmel AT45xxx 和 AT25xxx SPI 闪存芯片的支持。
    器件驱动程序--> SPI 闪存支持-->[*]传统 SPI 闪存接口支持
                                                                              [*] Atmel SPI 闪存支持

    此致、
    Kemal

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

    当我启用这些文件时、它不包含特定于 DataFlash 的文件-例如 Atmel_DataFlash_SPI.c。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后、您是否还可以在板级配置文件中定义 CONFIG_ATMEL_SPI。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    构建驱动程序/SPI/Atmel_DataFlash.c 取决于配置中设置的 CONFIG_Atmel_DataFlash_SPI (根据 Makefile)。

    添加:#define CONFIG_Atmel_DataFlash_SPI
    对于 include/configs/am335x_evm.h 文件、尝试编译 Atmel-DataFlash.c 文件、但会出现以下错误:
    抄送 驱动程序/SPI/Atmel_DataFlash_SPI.o
    ./drivers/spi/atmel_dataflash_spi.c:28:26:致命错误:asm/arch/clk.h:无此类文件或目录
    编译已终止。
    ./scripts/Makefile.build:280:目标'驱动 程序/SPI/Atmel_DataFlash_SPI.o'的配方失败
    make[2]:***[DRIVERS/SPI/Atmel_DataFlash_SPI.o]错误1.

    仔细研究这个-它看起来好像 Atmel-DataFlash.c 只能在 AT91F 处理器上工作-您知道对 AT45DB 类型 DataFlash 部件的任何一般支持吗?

    另外-关于最新 TI uboot 为何在 SPL 下载中挂起的任何想法-这是使用 AM335x_EVM_defconfig、它是 uboot 的一部分、无需再尝试添加 Atmel DataFlash。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更正:上述内容应参考 drivers/MTD/SPI/SF_DataFlash.c 文件、而不是上面的文件。 这取决于所设置的 CONFIG_SPI_FLASH_DataFlash、如果我将其添加到头文件中、我会得到以下结果:

    ./drivers/mtd/spi/sf_dataflash.c:在函数'SPI_DataFlash_probe"中:
    /drivers/mtd/spi/sf_dataflash.c:590:11:错误:'struct SPI_flash' has no member named 'DEV'(结构 SPI_FLASH 没有名为'DEV'的成员)
    SPI_FLASH->DEV = DEV;
    ^μ A
    ./scripts/Makefile.build:280:目标'驱动 程序/MTD/SPI/SF_DataFlash.o'的配方失败
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为、这可能需要为 AM335x_EVM 板配置驱动器模型类型。 由于我想使用 SPI 闪存、这需要将系统配置 DIP 开关设置为系统配置2。 我认为这也需要有一个不同的*。dts 文件。

    是否有人可以使用 AM335x_EVM uBoot 驱动程序模式 SPI 的配置?
    谢谢