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.

[参考译文] TDA4AL-Q1:[TDA4AL][J721S2]如何设置 tispl.bin 大于2MB?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1513461/tda4al-q1-tda4al-j721s2-how-to-setup-for-tispl-bin-is-bigger-than-2mb

器件型号:TDA4AL-Q1

工具/软件:

您好 TI

[TDA4AL][J721S2]如何设置 tispl.bin 大于2MB?

因为我们的"MCU R5 FW"的大小从200KB 增加到1.5MB
这使得 tispl.bin 的大小从1.00MB tp 2.3MB 增加
2.3MB 大于 eMMC 引导分区中 tispl 分区的大小(2MB)(在 a 处注释)

现在我已经将 tispl 分区的大小从2MB 增加到3MB (在 b 处注释)
并将 uboot 分区的偏移设置为0x1400到0x1C00 (在 c 处注释)

然后设备可以引导到内核,但它有错误!!
1)
tispl.bin 为2.3MB 时、"DFU 0 MMC 0"失败(注释为 f)
当 tispl.bin 为1MB 时、"DFU 0 MMC 0"适用(注释为 g)

2)
如果 tispl.bin 为2.3MB、则没有/sys/class/remoteproc/remoteproc
如果 tispl.bin 为2.3MB、则没有/sys/kernel/debug/remoteproc

是否有任何建议来修复或调试这些问题?

这些错误是否是由"MCU R5 FW"的内存映射引起的?
"MCU R5 FW"的存储地址和大小在哪里?


==============================

a)
software-dl.ti.com/.../UG-Memory.html
3.1.5.5.从 eMMC 引导分区(适用于 K3类 SoC)引导 tiboot3.bin、tispl.bin 和 u-boot.img
eMMC 引导分区布局:
- TI 原始设计
扇区地址(字节)大小(字节)
0x00000 0x00000000 0x00080000 tiboot3 512KB
0x00400 0x00080000 0x00200000 tispl 2MB
0x01400 0x00280000 0x00400000 u-boot 4MB
0x03400 0x00680000 0x00020000 ENV 128KB
0x03500 0x006A0000 0x00020000 bak env 128KB
0x03600
-我们将 tispl 和 u-boot 调整为3MB
0x00000 0x00000000 0x00080000 tiboot3 512KB
0x00400 0x00080000 0x00300000 tispl 3MB
0x01C00 0x00380000 0x00300000 u-boot 3MB
0x03400 0x00680000 0x00020000 ENV 128KB
0x03500 0x006A0000 0x00020000 ENvbak 128KB
0x03600

b) DFU:将 tispl 和 uboot 调整为3MB 以供下载
setenv dfp_alt_info_emmc"rawemmc raw 0 0x800000 mmcpart 1;rootfs 部分0 1;tiboot3.bin.raw 0x0 0x400 mmcpart 1;tispl.bin.raw 0x400 0x1800 mmcpart 1;u-boot.img.raw sysfw.itb.raw 部分0 1;tiboot3.bin.raw 部分1 0x400 mmc100 0x400;原始部分0x3600 mmc1 sysfw.itb.raw 0x400原始部分0x400;raw 部分0x400 mmc1 0x3600 mmc1 0x400;原始部分0x400原始部分0x400
setenv dfu_alt_info $dfu_alt_info_eMMC
Saveenv

c) 引导分区中 uboot 的偏移
Yocto-Build/sources/Yocto/u-boot/ti-u-boot/configs/j721s2_evm_a72_defconfig src
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1400
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x1C00

d)将 DFU 闪存映像写入引导分区
dfu-util.exe -a tispl -D tispl.bin
dfu-util.exe -a uboot -D u-boot.img

e)其他信息
software-dl.ti.com/.../UG-General-Info.html
3.1.1.1.3.图像格式
tispl.bin /"R5 DM FW"
3.1.1.4.引导流程
MCU R5:加载 R5固件

f)当 tispl.bin 为2.3MB 时、DFU 失败
=> DFU 0 MMC 0
CMD_Process:603:DFU 0 MMC 0
Device_probe:519:(佳豪)
DEVICE_PROBE:525:DEV_POWER_DOMAIN_ON (佳豪)
TI_SCI_POWER_DOMAIN_ON:57:pd=0000fde8ef78 (佳豪)
TI_sci_power_domain_don_on:61:get_device_exclusive (佳豪)
TI_sci system-controller@44083000:消息未确认
TI-sci-pm-domains 电源控制器:TI_sci_power_domain_on:get_device (360)失败(-19)
DEVICE_PROBE:622:失败(佳豪)
DEVICE_PROBE:622:失败(佳豪)
Device_probe:519:(佳豪)
DEVICE_PROBE:525:DEV_POWER_DOMAIN_ON (佳豪)
TI_SCI_POWER_DOMAIN_ON:57:pd=0000fde8ef78 (佳豪)
TI_sci_power_domain_don_on:61:get_device_exclusive (佳豪)
TI_sci system-controller@44083000:消息未确认
TI-sci-pm-domains 电源控制器:TI_sci_power_domain_on:get_device (360)失败(-19)
DEVICE_PROBE:622:失败(佳豪)
DEVICE_PROBE:622:失败(佳豪)
未找到 USB 设备
UDC_DEVICE_GET_BY_INDEX 失败
=>

G)当 tispl.bin 为1MB 时、DFU 可用

=> DFU 0 MMC 0
CMD_Process:603:DFU 0 MMC 0
Device_probe:519:(佳豪)
DEVICE_PROBE:525:DEV_POWER_DOMAIN_ON (佳豪)
Device_probe:561:device_get_DMA_constraints (USB@60000)(佳豪)
Device_probe:566:uclass_pree_probe_device (USB@60000)(佳豪)
device_probe:589:DRV-> probe (USB@60000000)(佳豪)
CDN - USB3-peripheral USB@60000:DRD 版本 v1 (ID:0004024e、版本:00000200)
CDN - USB3-Peripheral USB@60000:已初始化的 ep0支持:
CDN - USB3-Peripheral USB@60000:已初始化的 ep1out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:初始化的 ep2out 支持:批量、INT ISO
CDN - USB3-peripheral USB@60000:初始化的 ep3out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep4out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep5out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep6out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep7out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep8out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep9out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep10out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:初始化的 ep11out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep12out 支持:批量、INT ISO
CDN - USB3-peripheral USB@60000:初始化的 ep13out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:已初始化的 ep14out 支持:批量、INT ISO
CDN - USB3-Peripheral USB@60000:初始化的 ep15out 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:初始化的 ep1in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep2in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep3in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep4in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep5in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep6in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep7in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep8in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep9in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep10in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep11in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep12in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:初始化的 ep13in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:已初始化的 ep14in 支持:批量、INT ISO
CDN@USB3-Peripheral USB 60000:初始化的 ep15in 支持:批量、INT ISO
device_probe:595:ulclass_post_probe_device (USB@60000)(佳豪)
DEVICE_PROBE:607:DEVICE_NOTICE (USB@60000)(佳豪)
DEVICE_PROBE:612:完成(家好)
g_dnl_usb_id_change:g_dnl_driver.name = usb_dnl_DFU
g_dnl_usb_id_change:idProduct:0x6168
g_dnl_usb_id_change:idVendor:0x451


谢谢
佳豪

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

    e2e.ti.com/.../7888.ege_5F00_9901_5F00_3mb_5F00_lib_5F00_fast_5F00_dfu_5F00_20250514_5F00_1156.txt

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

    e2e.ti.com/.../3223.ege_5F00_9901_5F00_3mb_5F00_lib_5F00_kernel_5F00_20250514_5F00_1157.txt

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

    e2e.ti.com/.../7532.ege_5F00_9901_5F00_3mb_5F00_ipc_5F00_fast_5F00_dfu_5F00_20250514_5F00_0934.txt

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

    e2e.ti.com/.../ege_5F00_9901_5F00_3mb_5F00_ipc_5F00_kernel_5F00_20250514_5F00_0944.txt

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

    当 tispl.bin 为1MB 时的 UART 日志
    - ege_9901_3mb_ipc_fast_dfu_20250514_0934.txt ( DFU 0 MMC 0, work )
    - ege_9901_3mb_ipc_kernel_20250514_0944.txt (内核日志, remoteproc 驱动程序工作)

    tispl.bin 为2.3MB 时的 UART 日志
    - ege_9901_3mb_lib_fast_dfu_20250514_1156.txt ( DFU 0 MMC 0,失败)
    - ege_9901_3mb_lib_kernel_20250514_1157.txt (内核日志, remoteproc 驱动程序失败)

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

    尊敬的 Jiaao:

    很抱歉、延迟的回复。

    您能否检查 MCU 5固件中是否包含 SCI 服务器?

    MCU1_0是一个需要 SCI 服务器任务才能在其上运行的 DM 内核。 不能仅运行没有 sciserver 的 MCU 的裸机示例、因为所有其他内核都有 sciclient 调用、并将等待 sciserver 寻址。

    您是否还能提供对 mcu r5f 固件所做的更改?

    此致

    Gokul

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

    嗨、Gokul

    当器件在 u-boot shell 中停止时、会有来自 MCU R5 UART 的日志

    谢谢

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

    尊敬的  Gokul:

    加载2.3MB tispl.bin 时、出现错误消息
    加载1.0MB tispl.bin 时、没有此错误消息

    是否有针对此错误的建议、谢谢

    a)
    ege_9901_3mb_lib_fast_dfu_20250515_1005.txt
    >>
    board_init_r:750:boot_from_devices (家好)
    尝试从 MMC1引导
    Boot_from_devices:641:SPL_load_image (、MMC1)(Jiaao)
    SPL_LOAD_IMAGE:579: loader->load_image (jiaoha)
    SPL_MMC_LOAD_IMAGE:463:SPL_MMC_LOAD (佳豪)
    SPL_MMC_LOAD:366:(、bootdev、tispl.bin、0、0x400)(佳豪)
    SPL_MMC_LOAD:428:MMC_LOAD_IMAGE_RAW_SECTOR (''、bootdev、mmc、0x400)(Jiaao)
    MMC_LOAD_IMAGE_RAW_SECTOR:54:SPL_LOAD (佳豪)
    SPL_LOAD:380:_spl_load (size=0x0 offset=0x80000)(佳豪)
    SPL_simple_fit_read:674:board_spl_fit_buffer_addr (0xfffffe00、0x1、1)(佳豪)
    SPL_GET_FIT_LOAD_BUFFER:550:malloc_cache_aligned (0x256000)(佳豪)
    Alloc 空间已用尽
    无法获得 2449408字节的 FIT 缓冲区
    检查 CONFIG_SPL_SYS_MALLOC_SIZE 0x1000000

    SPL_GET_FIT_LOAD_BUFFER:557:buf=0x80800000 (佳豪)
    SPL_simple_fit_read:681:时基故障读取偏移0x80000、大小=2449408、DST=80800000、计数=2449408 (佳豪)

    b)
    yocto-build\source\yp\u-boot\ti-u-boot\common\spl\spl_fit.c src

    /*
    *拟合加载缓冲区的目的是提供一个内存位置,即
    *独立于任何拟合组件的加载地址。
    */
    静态 void *spl_get_fit_load_buffer (size_t size)

    void *buf;

    buf = malloc_cache_aligned (size);
    if (!buf){
    pr_err ("无法获取%lu 字节的拟合缓冲区\n"、(ulong)大小);
    pr_err ("\tcheck CONFIG_SPL_SYS_MALLOC_SIZE 0x%x\n"、CONFIG_SPL_SYS_MALLOC_SIZE);
    Buf = spl_get_load_buffer (0、大小);
    }

    返回 buf;
    }

    C)

    yocto-build\sources\yu-boot\ti-u-boot\common\malloc_simple.c src

    静态 void *alloc_simplet (size_t 字节、int align)

    Ulong addr、new_ptr;
    空*ptr;

    addr = align (gd->malloc_base + gd->malloc_ptr、align);
    new_ptr = addr + bytes - gd->malloc_base;
    Log_debug ("size=%lx、ptr=%lx、limit=%lx:"、(ulong)字节、new_ptr、
    GD->malloc_limit);
    if (new_ptr > gd->malloc_limit){
    log_err ("alloc space exelled \n");
    返回 NULL;
    }

    ptr = MAP_sysmem (addr、字节);
    GD->malloc_ptr = align (new_ptr、sizeof (new_ptr));

    返回 PTR;
    }


    谢谢
    佳豪

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

    ege_9901_3mb_lib_fast_dfu_20250515_1005.txt

    e2e.ti.com/.../0882.ege_5F00_9901_5F00_3mb_5F00_lib_5F00_fast_5F00_dfu_5F00_20250515_5F00_1005.txt

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

    尊敬的 Jiaao:

    您是否还能提供在 mcu r5f 固件中所做的更改、因为可以看出这一点 TISCI 这里的日志显然不符合要求吗?

    我怀疑您导致了对 MCU R5固件进行了一些更改 TISCI 崩溃。

    此致

    Gokul

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

    嗨、 Gokul

    1. 附件文件 main_rtos.c 是我的 MCU 域 main()函数。
    2. 我们已经在 MCU 中运行了 sci 服务器。
    3. ID 使用 btcm。 linker_r5f_mcu1_0_btcm_freertos.lds

    我想我已经在 MCU 域上运行了 SCI 服务器。 您能帮我们检查一下吗?

    e2e.ti.com/.../1665.main_5F00_rtos.c

     

    谢谢

    佳豪

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

    尊敬的 Jiaao:

    我已经指派了相应的专家处理相同的问题。

    此致

    Gokul