您好,
我们的板从 OSPI 器件引导、内核从 UFS 器件加载。 但 r5f 应用程序未运行。 当使用 SD 卡上的 uboot 和 rootfs 引导电路板时、它可以正常工作。
我们是否需要更改 tiboot3从 UFS 加载 r5f 应用程序?
谢谢、
Shrinath
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.
您好,
我们的板从 OSPI 器件引导、内核从 UFS 器件加载。 但 r5f 应用程序未运行。 当使用 SD 卡上的 uboot 和 rootfs 引导电路板时、它可以正常工作。
我们是否需要更改 tiboot3从 UFS 加载 r5f 应用程序?
谢谢、
Shrinath
Shrinath、您好!
目前、仅支持从 SD 加载 r5f 固件的 SPL。 有一个 e2e
用于启用从 eMMC 上的 u-boot 加载 r5f 的线程:
https://e2e.ti.com/support/processors/f/791/p/886615/3330218#3330218
您能否参阅上述内容并尝试使用 UFS?
此致、
基尔西
您好、Keerty、
是否有任何计划支持从 u-boot 加载固件? 正如您在 u-boot 代码/u-boot-ti-staging/2019.01 +gitAUTOINC+350f3927b8-r32_psdkla/git/arch/arm/mach-K3/common.c 中所述、没有从 SPI 引导器件加载固件的支持。 当从 OPSI 器件引导 uboot 时、是否可以从 eMMC/SD/UFS 分区加载固件?
int load_firmware (char *name_fw、char *name_loadaddr、u32 * loadaddr)
{
三、会议的报告
*loadaddr = 0;
#ifdef CONFIG_SPL_ENV_support
switch (spl_boot_device ()){
案例 BOOT_DEVICE_MMC2:
名称= env_get (name_fw);
*loadaddr = env_get_hex (name_loadaddr、*loadaddr);
中断;
默认值:
printf ("不支持从设备%u 加载 rproc FW 映像!\n"、
Thnaks、
Shrinath
Shrinath、您好!
在 u-boot 之前还有一个类似的用例 OSPI、然后从 eMMC 中 REST。"
https://e2e.ti.com/support/processors/f/791/p/937373/3467250#3467250
从 eMMC 从 SPL 加载固件。
目前不支持 UFS。
此致、
基尔西
您好、Keerty、
很抱歉 、我没有提供有关更改的更多详细信息。 是的、您的理解是正确的。 我们以固定偏移复制了 r5f 图像、并在 spl_spi.c 中读回 请在下面找到相同的代码片段。 根据当前设计、最好从/arch/arm/mach-k3/common.c 读取闪存-> load_firmware (... 但我们在这里无法访问 OSPI。 那么、从 spl_spi.c 中执行它
#ifdef CONFIG_SPL_APTIV_OSPI_BOOT
unsigned int offest_mainR5f = 0x800000;
unsigned int offest_mcuR5f = 0x900000;
unsigned int memory_mainR5f = 0x88000000;
unsigned int memory_mcuR5f = 0x89000000;
unsigned int image_len = 0;
unsigned int szie_offest = 4;
unsigned int image_offest = 512;
#endif
#ifdef CONFIG_SPL_APTIV_OSPI_BOOT
加载程序= memory_mainR5f;
ERR = SPI_FLASH_READ (FLASH、(offest_mainR5f)、
szie_offest、
加载器);
image_len =(unsigned int)*加载程序;
加载程序= memory_mainR5f;
ERR = SPI_FLASH_READ (FLASH、(offest_mainR5f+image_offest)、
image_len、
加载器);
加载程序= memory_mcuR5f;
ERR = SPI_FLASH_READ (FLASH、(offest_mcuR5f)、
szie_offest、
加载器);
image_len =(unsigned int)*加载程序;
加载程序= memory_mcuR5f;
ERR = SPI_FLASH_READ (FLASH、(offest_mcuR5f+image_offest)、
image_len、
加载器);
#endif
谢谢,
Shrinath