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.

AM572x Loading XEM4 Binary using Early Boot

Other Parts Discussed in Thread: SYSBIOS, AM5728

Hello,

We are trying to load XEM4 binary on IPU2 core from U-boot using early boot functionality. We are using GLSDK 6_04 U-boot to do the same.

We tried loading 'dra7-ipu2-fw.xem4' from U-boot and were able to connect to IPU2 core after stopping at U-boot using CCS. But, when we try to load any other XEM4 binary built by us on IPU2 core, we are getting the below error messages

find_resource_table: failed to get resource section header

spl_boot_ipu: failed to find resource table

and loading XEM4 binary fails.

We want to know about the following things:

1. How can we build XEM4 binary (SYSBIOS or Starter ware) having the resource table linked to the executable binary?

2. Is there a way to bypass finding the resource table in U-boot and successfully load the XEM4 binary on IPU2/IPU1 core from U-boot?

Thanks & Regards,

Shubham

  • Hi,

    What processor is this?
  • Hi Biser,

    Thanks for quick reply.

    The processor is AM5728.

    Regards,
    Shubham
  • You should be aware that GLSDK is NOT supported on AM57x devices.
  • I am aware of the fact that GLSDK is not supported on AM57x devices. We want to load XEM4 binary on IPU core from U-boot for particular use case and as Early boot feature is not added in PSDK we are trying to get it up on GLSDK.

    Also, as I mentioned we were able to connect IPU2 core from CCS after loading 'dra7-ipu2-fw.xem4' binary.

    Thanks & Regards,
    Shubham
  • OK, I will ask the software team if they can suggest something.
  • Shubham,

    You can refer to the default resource table ipc_3_42_00_02/packages/ti/ipc/remoteproc/rsc_table_vayu_ipu.h defined in IPC release and try to build and load ipc_3_42_00_02/examples/DRA7XX_linux_elf/ex02_messageq/ipu2/, or link with your own resource table: processors.wiki.ti.com/.../IPC_Resource_customTable

    Regards,
    Garrett
  • Hello Garrett,

    Thanks for the quick response.

    We have already tried the above link and below are our experiments and observations:

    1. We have a simple XEM4 binary which does UARTinit() and prints "Hello World" on UART console. We are able to build the binary and load it using CCS on IPU1/IPU2 core. We got the "Hello World" print on UART console. This XEM4 binary does not have the resource table linked to it. The way we have validated this is by checking the .map file.

    2. Now, we want to load the same XEM4 binary on IPU1/IPU2 core from U-boot but, our understanding is that it requires resource table linked to the executable binary. In order to do so, we followed the link shared by you.
    We understand that the below line tries to create a section named '.resource_table' in the data section of XEM4 binary

    #pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")

    Even after building the XEM4 binary with the changes recommended in the link, we are not able to see the 'ti_ipc_remoteproc_ResourceTable' symbol. This we have validated by two ways:

    1. By checking the .map file.
    2. By dumping the contents of XEM4 binary using 'objdump' command but, there was no '.resource_table ' section created.

    We want to know the following things:
    1. How can we link the resource table to XEM4 binary built by us?
    2. Is there any way with which the resource table can be bypassed and the XEM4 binary can be loaded on IPU1/IPU2 core from U-boot.

    Thanks & Regards,
    Shubham
  • Hi Shubham,

    The structure ti_ipc_remoteproc_ResourceTable is actually in the resource table header file, have you included "rsc_table_vayu_ipu.h" in your application?

    #include "rsc_table_vayu_ipu.h".

    I am not sure if you can bypass it. I think you should have it as the resource table defines the system resource and address translation for MMU configuration.

    Regards,
    Garrett

  • Garrett,

    We have added 'rsc_table_omap5_ipu.h' in our application.

    #include "rsc_table_omap5_ipu.h"

    Even after this 'ti_ipc_remoteproc_ResourceTable' is not present in the .map file.

    Thanks & Regards,
    Shubham