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.

[参考译文] OMAPL137-HT:从闪存引导问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/946240/omapl137-ht-booting-problems-from-flash

器件型号:OMAPL137-HT
主题中讨论的其他器件:OMAP-L137

我使用 Processor SDK RTOS 06_03_00_106文档从闪存引导时遇到问题。

我在 Processor SDK RTOS 06_03_00_106中使用 SPI_FLASH_writer.out 时遇到此错误:

*** PDK SPI 闪存写入器***

正在打开 SPI 句柄...

      SPI 初始化失败!

我使用原始的 spiflash_writer.out 收到此错误、在这里我可以设置 MLO (0)和 app (0x80000)的偏移量:

**** PDK SBL ****
SBL 修订版本:01.00.09.02 (2020年9月30日- 17:12:59)
开始解析用户应用程序
单个图像标题中的幻数无效
正在跳转到用户应用程序...

我已经检查了应用文件的标题、它具有幻数:

4D 53 54 52 01 20 20 20 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4D 45 4e 44  

我的结论是、闪存中的0x80000=524288偏移(MLO 偏移=0、APP 偏移量为0x80000)在 MLO 中不正确。

有人可以确认这一点吗?

谢谢

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

    在 SBL_SPI.c 中找到:

    #define SPI_OFFSET_SI             (0x80000)

    闪存中的0x80000应用偏移是正确的。

    MLO 和 APP 都正确写入闪存、偏移量为0和0x80000:

    启动 SPIWriter。
    输入映像类型("dspais""armubbl""uboot""other)
    其他
    输入文件名
    C:\temp\boot2\app
    输入以字节为单位的偏移量(十进制)
    524288
    擦除字节偏移处的闪存:524288、字节长度:102400
    SE:CMD ={0x20 0x080000}
    SE:CMD ={0x20 0x081000}

    ................................................................................................................................

    PP:0xc0011b7c => cmd ={0x02 0x098e00}chunch_len = 256
    SF:Winbond:已成功编程256字节@ 0x98f00
    正在读取验证文件.. 匹配的文件

    我不知道为什么会出现此错误:

    **** PDK SBL ****
    SBL 修订版本:01.00.09.02 (2020年9月30日- 17:12:59)
    开始解析用户应用程序
    单个图像标题中的幻数无效
    正在跳转到用户应用程序...

    此致、

    Marius Raducanu

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

    我想、由于 MLO 闪存与 EVMOMAP-L137上的闪存不匹配、我收到了错误。

    我将在 SBL 源中检查/调试这一点。

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

    我的评估板是 OMAP-L137 ASSY 511340 REV H

    其上的闪存为25x32VFIG。 从数据表中可以看出器件 ID 为0x3016

    board_flash.h 和 w25x32vsfconfig.h 中定义了 OMAP-L137评估板的 PDK 软件:

    #define Board_flash_ID_W25X32VSFIG         0x4016 /**< w25x32 SPI 闪存器件 ID *

    #define NOR_DEVICE_ID               (0x4016) /*器件 ID */

    0x4016是 W25Q32的器件 ID

    这说明了为什么我的评估板不能与 PDK 一起工作、而是可以与旧版软件一起工作。

    我在软件中查看过、有不同的初始化函数:SPI_INIT ()与 QSPI_INIT_V0和 QSPI_INIT_v1。

    我将订购新的闪存、并在评估板上将25x32替换为25Q32。

    此致、

    Marius Raducanu

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

    使用 W25Q32JVSFIQ-ND (DigiKey)替换 OMAP-L137评估板上的闪存存储器后、我能够使用 PDK 中的 SPI_FLASH_writer 将 MLO 和 app 写入闪存。

    评估。 电路板具有不适用于任何 PDK 的 W25x32闪存。 我必须花太多的时间来解决这个问题。 如果 TI 提供一个较小的源文件(许多难以确定的定义)、每个处理器都有其自己的源文件、则会更好-调试将更容易。

    在下一步中、我将修改源代码以使评估板与其他闪存配合使用-我需要一个、额定温度至少为175C。

    此致、

    Marius Raducanu