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.

TMS320F280049: MemCfg registers and RAM_INIT feature

Part Number: TMS320F280049
Other Parts Discussed in Thread: C2000WARE,

Hello

I saw in the thread

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/980200/tms320f280049-ram-initialization-in-run-time-support-libraty-eabi?tisearch=e2e-sitesearch&keymatch=INITDONE#

that RAM initialization is embedded in the Boot ROM.

I'm running a project in EABI format with CPU and CLA, but the only fields "INITDONE" that I can see to 1 are related to MSGx memory, that I initialize explicitly in my CLA initialization code (as I saw in C2000ware examples).

My question is:

do you confirm that the RAM_INIT is executed by Boot rom ?

If so, why I cannot see INITDONE fields to 1 ?

Maybe my DSP does not run the Boot rom ? Is this possible ?

This picture was taken in attach mode, and shows the content of MemCfg regiaters.

best regards

  • The RAM init happens during Power on reset. When you connect CCS via debugger the CPU is reset causing sysrsn (gel file action). On sysrsn the status registers get reset. This could be the reason why you dont see RAM INITDONE.

  • Hello support,

    I dont' think this is my case.

    The picture was taken with the debugger in "attach" mode, where no CPU reset is executed neither .gel file is used, because I don't want to interfere with the DSP work.

    This is the Target Configuration file content:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Texas Instruments XDS100v2 USB Debug Probe_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS100v2 USB Debug Probe_0" href="connections/TIXDS100v2_Connection.xml" id="Texas Instruments XDS100v2 USB Debug Probe_0" xml="TIXDS100v2_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" desc="Texas Instruments XDS100v2 USB Attach Probe_0" id="Texas Instruments XDS100v2 USB Debug Probe_0">
                <instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2c28x.xml" id="drivers" xml="tixds100v2c28x.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cla2.xml" id="drivers" xml="tixds100v2cla2.xml" xmlpath="drivers"/>
                <instance XML_version="1.2" href="drivers/tixds100v2cs_child.xml" id="drivers" xml="tixds100v2cs_child.xml" xmlpath="drivers"/>
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="TMS320F280049C_0" href="devices/f280049c.xml" id="TMS320F280049C_0" xml="f280049c.xml" xmlpath="devices"/>
                    <device HW_revision="1" XML_version="1.2" description="" id="TMS320F280049C_0" partnum="TMS320F280049C" simulation="no">
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
                            <subpath id="Subpath_0">
                                <cpu HW_revision="1.0" XML_version="1.2" description="C28xx CPU" deviceSim="false" id="C28xx_CPU1" isa="TMS320C28XX">
                                    <property Type="filepathfield" Value="" id="GEL File"/>
                                </cpu>
                            </subpath>
                        </router>
                    </device>
                </platform>
            </connection>
        </configuration>
    </configurations>

  • are you checking the status right after boot rom execution or after executing your program ?

    can you recheck the configurations in your program.

  • The picture of registers status was taken during execution of my program.

    I will recheck my configuration, but I'm sure there are not any SYSreset after the boot rom execution, therefore if the boot rom executes the RAM initialization, I was suprised not to find the field INITDONE while my program is runnning

  • I have checked again my configuration.

    I must rectify my previous post: my project is composed by Bootloader + Application: at reset (after the Boot rom) the Bootloader starts, makes some check and then generates a WD reset to switch to Application.

    This is the reason why, I guess, when I'm in Application I cannot see any INITDONE = 1.