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.

[参考译文] TDA4VE-Q1:ospi flash

Guru**** 2482225 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1449536/tda4ve-q1-ospi-flash

器件型号:TDA4VE-Q1

工具与软件:

您好!

我对 SBL 中的 OSPF 闪存有一些疑问、想咨询 TI 专家。

如下图所示、在函数 SBL_ReadSysfwImage 中、读取 sysfw 是通过"SBL_SysFwLoad (void *)(* pbuffer)、(void *)(ospi_cfg.dataAddr+SBL_OSPI-offset_SYSFW)、num-bytes);"? 在哪里提供了 ospi_cfg.dataAddr 的地址数据?

我读取 ospi_cfg.dataAddr + SBL_OSPI_OFFSET_SYSFW 该地址的数据未更改。 我读取 ospi_cfg.dataAddr + SBL_OSPI_OFFSET_SYSFW 该地址的数据未更改。 ospi_cfg.xipEnable = 0。

按如下方式进行日志:并且 ospi_cfg.xipEnable = 0。

日志如下:

111111111111111111111111 line = 205、ospi_cfg.dataAddr = 90068230。
111111111111111111111111 ospi_cfg.xipEnable = 0。
111111111111111111111111 line = 235、ospi_cfg.dataAddr = 90068230。
111111111111111111111111行= 238、ospi_cfg.dataAddr = 90068230。
111111111111111111111111行= 270、ospi_cfg.dataAddr = 90068230。
11111111111111111111行= 272。

...

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

    SoC:J721S2

    SDK:ti-processor-sdk-rtos-j721s2-evm-10_00_00_05

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

    请问是否有 TI 专家可以为我提供帮助?

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

    您好!

    很抱歉、没有收到您的问题、OSPI 中的 TIFS 地址是固定位置、不是吗? 因此、此偏移不会在多次 引导时发生变化。  

    此致、

    Brijesh  

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

    您好!

    非常感谢您的答复。 是的、TIFS 是一个固定地址并存储在闪存中。 我的问题是:闪存中的数据如何到达地址 ospi_cfg.dataAddr?

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

    您的意思是如何将其读入此位置? 通常只是使用 memcpy 完成。

    此致、

    Brijesh   

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

    您好!

    是的、我想知道通过什么操作来读取数据以寻址 ospi_cfg.dataAddr? 您能说明具体代码在哪个函数中实现吗?

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

    请检查 sbl_ospi.c 文件中的 SBL_ReadSysfwImage API。  

    此致、

    Brijesh

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

    您好、

    我想知道地址 ospi_cfg.dataAddr 的数据来自哪里?

    我只看到在 SBL_ReadSysfwImage API 中提供给* pbuffer 的 ospi_cfg.dataAddr 地址。
    如下:

    /*设置 ROM 以加载系统固件*/
    *pbuffer =(void *)(ospi_cfg.dataAddr + SBL_OSPI_OFFSET_SYSFW);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这来自宏 CSL_MCU_FSS0_DAT_REG1_BASE、在 packages\ti\drv\spi\spi\spi\soc\j721s2\spi_soc.c soc 文件中的 ospiInitCfg 中进行初始化。  

    此致、

    Brijesh

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

    您好!

    非常感谢您的答复。
    根据您的响应、我了解"ospi_cfg.dataAddr 由宏定义 CSL_MCU_FSS0_DAT_REG1_BASE"分配。
    我之前可能没有明确地表达过我的问题、我还想问您:ospi_cfg.dataAddr、也称为 CSL_MCU_FSS0_DAT_REG1_base。 如何在该地址获取数据? 使用什么操作来将 OSPI 闪存中的数据传输到地址 CSL_MCU_FSS0_DAT_REG1_BASE?

    我不知道我是否清楚地表达了我的问题? 再次感谢您的答复。

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

    您好!

    在 OSPI DAC 模式下、OSPI 区域映射到此位置(CSL_MCU_FSS0_DAT_REG1_BASE)。 这样我们就可以访问这里的 OSPI 闪存。  

    有关 DAC 模式的详细信息、请参阅 OSPI JEDEC 规范。  

    此致、

    Brijesh