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/CC1350: Board Reset.

Part Number: CC1350


Tool/software: Code Composer Studio

Hello my name is federico,

I have tried to use the API SysCtrlSystemReset() (sys_ctrl.h) to reset the board and it works well, but after the reset the board stops working and doesn't restart automatically. Moreover, I have tried to use the watchdog module, but it works as SysCtrlSystemReset() .

I'm looking for an API that i can use to reset and restart the board from the start point.

Federico.

  • What CC1350SDK and example is your application based on to call SysCtrlSystemReset?

  • SDK: "simplelink_cc13x0_sdk_3_20_00_23"

    Example is the hello for ccs (the project is called 'hello_CC1350_LAUNCHXL_tirtos_ccs').

    Federico

  • I use the following codes which adds "SysCtrlSystemReset();" right before "System_printf" and run hello_CC1350_LAUNCHXL_tirtos_ccs from CCS. I can see CC1350 reset and doesn't print "hello world" in console. If I remove SysCtrlSystemReset, I can see CC1350 prints "hello world".

    /* XDC Module Headers */
    #include <xdc/std.h>
    #include <xdc/runtime/System.h>
    
    /* BIOS Module Headers */
    #include <ti/sysbios/BIOS.h>
    
    #include <ti/drivers/Board.h>
    #include <ti/devices/cc13x0/driverlib/sys_ctrl.h>
    /*
     *  ======== main ========
     */
    int main()
    {
        /* Call driver init functions */
        Board_init();
    
        SysCtrlSystemReset();
        System_printf("hello world\n");
        /*
         *  normal BIOS programs, would call BIOS_start() to enable interrupts
         *  and start the scheduler and kick BIOS into gear.  But, this program
         *  is a simple sanity test and calls BIOS_exit() instead.
         */
        BIOS_exit(0);  /* terminates program and dumps SysMin output */
        return(0);
    }
    

  • Hi,

    Yes your example is clear, but as i said before the 'SysCtrlSystemReset()' method doesn't restart the program after resetting the board. however, I am looking for an API that I can use to reset and restart from the beginning the board.

    For example (I have copied and modified your codes) :

    int main()
    {
        /* Call driver init functions */
        Board_init();
        System_printf("hello world\n");   
        SysCtrlSystemReset(); //THIS METHOD SHOULD BE CHANGED WITH THE API THAT I AM LOOKING FOR
    /*
         *  normal BIOS programs, would call BIOS_start() to enable interrupts
         *  and start the scheduler and kick BIOS into gear.  But, this program
         *  is a simple sanity test and calls BIOS_exit() instead.
         */
        BIOS_exit(0);  /* terminates program and dumps SysMin output */
        return(0);
    }
    the API that i am looking for, after 'hello world' has been written in the console, should reset and restart the board. So, the program should write 'Hello world' in the console and reset the board in a loop.
    Federico
  • System_printf would output message to console after it executes BIOS_exit. I suppose you should create a task to do SysCtrlSystemReset instead of calling it from main and you should be able to see message output by System_printf.

  • Hi Federico,

    Can you try to run the code without being in a debug session? The IC may be in halt-in-boot after the SW initiated reset.

    Regards,
    Fredrik

  • Hi Fredrik,

    You are right, if i load the program on the board and disconnect/connect the board with the PC it works!

    Federico