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.

CCS/DRA75: Examples showing error on uart console

Part Number: DRA75
Other Parts Discussed in Thread: DRA742

Tool/software: Code Composer Studio

Hi,

I am using DRA7XX EVM board with DRA75 SOC. So I followed to rebuild the PDK examples for M4 core and using CCS v7 i generated the .out file. And now i am using dfu-util command to transfer this .out file to evm's m4 core by following but on executing, it gives erroneous result:

U-Boot SPL 2016.05-dirty (Oct 26 2018 - 15:12:28)
DRA752-GP ES2.0
Trying to boot from USB DFU
Using default environment

UNKNOWN IRQ type 1634759791
########################################DOWNLOAD ... OK
Ctrl+C to exit ...
find_resource_table: failed to get resource section header
find_resource_table: failed to get resource section header
load_elf_image_phdr_rproc : failed to find resource table
load_elf_image_phdr returned error for core IPU2
Error loading remotecore IPU2!,Continuing with boot ...
## No elf image at address 0xa1fff000
Error loading remotecore DSP1!,Continuing with boot ...
## No elf image at address 0xa27ff000
Error loading remotecore DSP2!,Continuing with boot ...
## No elf image at address 0xa0fff000
Error loading remotecore IPU1!,Continuing with boot ...

Am I missing something or am i going the wrong way??

  • Hi Sam,

    Which PDK example are you trying to build?

    Also, have you already integrated the resource table needed by remoteproc driver?

    Thanks,
    Stephen
  • Hi,

    I am trying to build basic Uart example from /ti/pdk_dra7xx_1_0_10/packages/ti/drv/uart/example/sample .

    No I haven't integrated the resource table needed by remoteproc driver. How to do it??

  • Hi Sam,

    I would suggest you start with the IPC example configuration files for messageq_single under packages/ti/ipc/tests (see rpmsg_transport.cfg, IpcCommon_vayu.cfg.xs, IpuAmmu_vayu.cfg and Ipu1Smp.cfg), or the examples/DRA7XX_linux_elf/ex02_messageq test app.  You can check if loading is successful with these first and then use that as a reference for bringing in the IPC hooks into the PDK example app.

    Here is a good article on resource table customization for when you are to that point, and may need to override the default: http://processors.wiki.ti.com/index.php/IPC_Resource_customTable

    Lastly, I would be careful with integrating any of the PDK examples since they all make use of the UART console.  This is fine when running in an RTOS-only environment, but when integrating under u-boot/Linux, you will have a resource conflict.  I suggest you remove UART prints from your IPU application and use IPC trace to print messages back to the Linux remoteproc trace buffer.

    Thanks,
    Stephen

  • Hello Stephen,

    Is there any example with observable output for example led blink or something.
  • Hi Sam,

    I assume you mean something observable besides UART console?  Here are a few options I can think of:

    • There is an audio loopback example which will pass audio from Line In port back to Line Out port.  
    • EMAC basic example will do loopback at the PHY level, so you should see activity indicator lights on the Ethernet 0 port
    • NIMU basic example will give you IP connectivity and you can see lights on either Ethernet port upon active connection

    Otherwise, there is a board LED blink example which is used by other device families which share the same EVM layout.  It is not a supported example for this device but I could give details on how to bring this up if the above are not sufficient.

    Thanks,
    Stephen

  • Hi Stephen,

    I integrated the resource table in NMIU basic example and flashed and executed it in ipu1 core. But i didn't observe any visual output at ethernet port leds. Am i missing something??

    On flashing i recieve output from uart as

    U-Boot SPL 2016.05-dirty (Nov 01 2018 - 17:35:20)
    DRA752-GP ES2.0
    Trying to boot from USB DFU
    Using default environment
    
    UNKNOWN IRQ type 1634759791
    ##################################################################DOWNLOAD ... OK
    Ctrl+C to exit ...
    ## No elf image at address 0xa17ff000
    Error loading remotecore IPU2!,Continuing with boot ...
    ## No elf image at address 0xa1fff000
    Error loading remotecore DSP1!,Continuing with boot ...
    ## No elf image at address 0xa27ff000
    Error loading remotecore DSP2!,Continuing with boot ...
    

    Regards,

    Sam

  • Hi Sam,

    I'm not familiar with DFU - Does the output you show on the console indicate that you are now able to load IPU1 binary?

    The PDK peripheral/stack examples are designed to run in a standalone RTOS environment.  The examples handle all platform initialization and don't care about sharing resources with other CPUs on the SOC because they are intended to demonstrate everything needed to make the peripheral work in that environment.

    When porting to run alongside another OS on another CPU, there will be modifications required to free any conflicts in resource management.

    Hope this helps clear things up.  Otherwise, maybe it would be more helpful if you told me what your end goal is so we don't spend a lot of time on experiments which will just be throwaway.

    Thanks,
    Stephen

  • Hi Stephen,

    So my task is to access any peripheral via any core. I am totally new to this. And I do not have a Jtag connector to work via CCS. Therefore i was forced to find any other way. Then i came across the above mentioned method via dfu-util of flashing binaries into core. I thought executing the binary in the core will help me achieve my task. Can you suggest me the proper way of doing it without using jtag connector??

    Regards,

    Sam

  • Hi Sam,

    What is your target application going to look like?  Do you need Linux to run on A15 or is this going to be a pure RTOS system?  Can you give any other info about the type of application, just so I can make sure you are using the best fit SDK?

    If you don't need Linux, then we have an RTOS Secondary Bootloader (SBL) which can boot from SD card and doesn't require any JTAG connectivity.  You can see more details in the <pdk>/packages/ti/boot/sbl_auto and look at the contained doc/SBL_UserGuide.pdf.  This will tell you how to build the SBL for the desired boot method and SoC performance level.  It also gives details on how to convert the ELF binaries for each CPU into a single multi-core AppImage which can be loaded by SBL.  This is the most straightforward way to get some PDK peripheral example running without CCS.

    If you do need Linux, then the RTOS SBL will only be good to test things but won't work in long-term, so we will need to explore other options.

    Thanks,
    Stephen