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.

AM2434: AM243x-LP Failing module initialization

Part Number: AM2434

Tool/software:

Hi there,

I am having some problems with this function: 
int32_t SOC_moduleClockEnable(uint32_t moduleId, uint32_t enable);

After soc initialization, I can download gpio example program toggling an LED. It works. This is our own prototype board.

However, I then download an application that has more modules. 
int32_t SOC_moduleClockEnable(uint32_t moduleId, uint32_t enable); fails for each module, I worked around the assert by changing the return value in debug mode in CCS to iterate all modules.

Here are my modules:

uint32_t gSocModules[] = {
TISCI_DEV_FSS0,
TISCI_DEV_FSS0_FSAS_0,
TISCI_DEV_FSS0_OSPI_0,

TISCI_DEV_PRU_ICSSG1,

TISCI_DEV_UART2,

SOC_MODULES_END,
};


how to debug the problem?

Best regards,
Jinlong

  • Hi Jinlong,

    Which SDK version are you using?

    How are you initializing the SoC? Are you using SBL or SPL flow?

    Regards,

    Tushar

  • Hi Tushar,

    with this sitara chip on prototype board, it is troublesome. I performed soc initialization. But I do not always see soc initialization outputs - for gpio, it always works. After adding flash, I have to see soc initialization outputs, then I don't have the problem. 

    Best regards,

    Jinlong

  • Hi Jinlong,

    I assume that you are using SBL binaries to initialize the EVM. 

    After adding flash, I have to see soc initialization outputs, then I don't have the problem. 

    Do you mean after adding flash, the problem occurs?

    Regards,

    Tushar

  • Yes, there seems be to some subtle issues. Anyhow, I figured out how to perform soc initialization AND see the expected soc initialization outputs. Then I run application which contains lines of code as mentioned above. I am using motor control sdk and the included sdks. 

  • Hi Jinlong,

    From my understanding, you are using SBL flow for EVM initialization and the code is getting stuck at SOC_moduleClockEnable(uint32_t moduleId, uint32_t enable); API call.

    Can you please step into the API via CCS debugger and check what is the moduleId for which the code fails?

    Regards,

    Tushar

  • Hi Tushar,
    I don't have access to the hardware now. The module IDs are listed in the first post of this thread.

    I am not sure if there is some misunderstanding. I have two situations. 1. perform soc initialization with dev boot mode, where I don't see the outputs of soc initialization. In this case, I can then download led demo. Led works as expected. If I try to download another application (see top of this thread), all module failed as described above. 
    2. I perform soc initialization and see the outputs of soc initialization in CCS. Then I can download led application. it works. I can also download the same application that involves multiple modules (see top of this thread). In this case, I don't have error message. 

    I guess there is some tricky and subtle issues here. However, this is not my priority now. 

    Best,
    Jinlong

  • Hi Jinlong,

    In this case, I can then download led demo. Led works as expected. If I try to download another application (see top of this thread), all module failed as described above. 

    Are you doing a power cycle before loading examples to the cores?

    If yes, you will need to initialize the SOC every time using load_dmsc script when EVM is in NO BOOT mode.

    Regards,

    Tushar

  • Hi Tushar,

    I was using Dev Boot mode. The first thing was to execute soc initialization from script console with the script adapted from

    load_dmsc_hsfs.js, I need some adaptation because of using daisy chain jtag.

    Most times I did not see the expected outputs of soc initialization from the second sitara in daisy chain. I then run led application and it always worked as expected. However, instead of led application, if I ran ethercat demo, which involves the modules listed on top, I then had the errors as described. 


    Now I figured out how to get the expected outputs. Led application still works. EtherCAT demo application also works.


    Best,
    Jinlong

    P.S. Since you use "No boot".Do you mean that No boot and dev boot would both work when ccs scripting is used to initialize the soc? 


    Reference: software-dl.ti.com/.../EVM_SETUP_PAGE.html

  • Hi Jinlong,

    Now I figured out how to get the expected outputs. Led application still works. EtherCAT demo application also works.

    Thanks for the confirmation. Closing the thread.

    P.S. Since you use "No boot".Do you mean that No boot and dev boot would both work when ccs scripting is used to initialize the soc?

    Yes, the NO BOOT is applicable when the device type is GP and DEV Boot is applicable for HSFS devices.

    Regards,

    Tushar

  • Hi Tushar,
    I think we are using HSFS. How can I check?
    Best,
    Jinlong 

  • Hi Jinlong,

    Please refer faq-am6xx-how-to-check-if-device-type-is-hs-se-hs-fs-or-gp for details.

    Regards,

    Tushar