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: CAN Boot and Flash Boot

Part Number: TMS320F280049

Hi expert,

We want boot from flash, but suspectily there is issue on GPIO32 that may lead to CAN boot but we cannot verify this suspesion. What's the most effective and fast way to identify if we boot from flash or CAN?

Joyce

  • Hello Joyce,

    Here are some possible methods:

    1. Flash a simple application with a GPIO toggling in the background loop. See if toggling is observed on reset (if so, then device booted to flash).
    2. In F280049.gel located in CCS (ccs2031\ccs\ccs_base\emulation\gel\f280049.gel), comment out the following lines in OnTargetConnect(). Also, verify in the debug configuration properties that "Reset the target on a connect" is not checked. This will prevent the JTAG debugger from resetting the device on connect, and you can see where the device is executing (CAN bootloader in ROM or in flash memory).
      1.  
      2. OnTargetConnect()
        {
        
            // *(int *)0x5F412 =0x0003;      /* RAM INIT FOR M0/M1 Memory        */
            // *(int *)0x5F432 =0x00FF;      /* RAM INIT FOR LS0..LS7  Memory    */
            // *(int *)0x5F452 =0x000F;      /* RAM INIT FOR GS0..GS3 Memory     */
        
            if (GEL_IsInRealtimeMode())     /* If in real-time-mode */
            {
            }
            else                            /* Put device into C28x Mode */
            {
                C28x_Mode();   
            }
        
            F280049_Memory_Map();        /* Initialize the CCS memory map */
        
        /* Check to see if CCS has been started-up with the DSP already */
        /* running in real-time mode.  The user can add whatever        */
        /* custom initialization stuff they want to each case.          */
        
            if (GEL_IsInRealtimeMode())     /* Do real-time mode target initialization */
            {
        
            }
            else                            /* Do stop-mode target initialization */
            {
                // GEL_Reset();                /* Reset DSP */
            }
        }
         

    Best,

    Matt