AM2634: Control Card - How can I automatically trigger the SBL boot from the onboard XDS 110

Part Number: AM2634

Tool/software:

We are trying to implement some test automations on the am2634 control card and would like the ability to trigger our SBL from the onboard XDS110

We've looked at using xds110reset but it does not seem to reset the chip when pressed. It seems that WARMRST / RESETn only works as an output on the control card - and this is confirmed by the TRM for AM2634 as well.

How can we use the XDS110 to reset the chip so we boot our multicore application from the external flash? A valid solution must not involve pressing buttons on the control card or manually changing wires after an initial setup.

Thanks,

Carl

  • There's a hint in the manual that the Test Automation header can be used to switch boot modes...

     

    ...but I don't think the onboard XDS110 has any influence over that judging by the block diagram:

    Perhaps use an external debugger TMDSEMU110-U Debug probe | TI.com with I2C interface (if that's possible) to change the boot mode? Easier said than done, granted.

  • We would like to avoid custom external wiring - but the debug ribbon header may be an option

    What about using the SOC driver to trigger PowerOnReset for each core?

    We could load a program into RAM uses the IPC peripheral to determine which cpu we're on and then trigger PORz for both CPUs

    Something like this:


    const uint32_t current_core = SIPC_getSelfCoreId();
        // Always reset the other core first
        if (current_core == CSL_CORE_ID_R5FSS0_0 || current_core == CSL_CORE_ID_R5FSS0_1) {
            DebugP_log("Resetting R5SS1 and then R5SS0\r\n");
            SOC_rcmR5SS1PowerOnReset();
            SOC_rcmR5SS0PowerOnReset();
        } else if (current_core == CSL_CORE_ID_R5FSS1_1 || current_core == CSL_CORE_ID_R5FSS1_0) {
            DebugP_log("Resetting R5SS0 and then R5SS1\r\n");
            SOC_rcmR5SS0PowerOnReset();
            SOC_rcmR5SS1PowerOnReset();
        }

  • I think I misunderstood your use case. Do you mean your controlCARD is always in OSPI boot mode and you don't need to switch modes?

    If so, I don't think there's any need to load a program.

    - Launch a debug configuration without loading a program.

    - Run a custom GEL scrip to write to registers to effectively do what SOC_rcmR5SS0PowerOnReset() does.

  • Yes control card is always in QSPI boot mode and we don't want to switch modes.

    Why wouldn't a small ELF program that calls SOC_rcmR5SS0PowerOnReset() work on its own? I would like to avoid diving into GEL scripts if we can avoid it

  • Why wouldn't a small ELF program that calls SOC_rcmR5SS0PowerOnReset() work on its own?

    I'm not saying it wouldn't but, as per the title, you want to use XDS110 to boot so the focus of my answer was on the debugger tool.

  • Hi Carl,

    If you are using CCS, then triggering System Reset resets the system and restarts the application from flash.

    Let me know if this helps