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.

Reset issue regarding TMS320F2812.

Other Parts Discussed in Thread: TMS320F2812

I am using TMS320F2812 in one of the application.

When I run the software in debug mode ,it works properly .But when I clik 'reset' option in debugg mode.

Pogram counter should go to '0x3FFFC0' locatio but it is going to '0x3FFC00'.

So that program execution stops after reset.(same thing happens for hardware reset).

I am not getting where the problem is?

  • sayali w said:

    I am using TMS320F2812 in one of the application.

    When I run the software in debug mode ,it works properly .But when I clik 'reset' option in debugg mode.

    Pogram counter should go to '0x3FFFC0' locatio but it is going to '0x3FFC00'.

    On some processors the reset location is a branch instruction, but in the 28x case it is an address.   0x3FFFC0 is the reset vector - i.e. its contents will determine the location that the PC starts.  If you look at the contents of 0x3FFFC0 does it contain 0x3FFC00?

    sayali w said:
    So that program execution stops after reset.(same thing happens for hardware reset).

    If a debugger is connected then the PC will halt after a reset.

    Cheers

    Lori

     

  • Yes, you are right.

    The code at '0x3FFFC0' is as follows

    0x3FFFC0:   FC00        ADRK       #0
    0x3FFFC1:   003F        TRAP       #31

    It goes to '0x3FFC00' location after reset.

    what should I do to brach it to '_c_int00',so that pogram will again starts execution from 'main'.

    OR program execution will again starts.

  • sayali w said:

    what should I do to brach it to '_c_int00',so that pogram will again starts execution from 'main'.

    OR program execution will again starts.

    The code in the boot ROM will read the state of GPIO pins to determine what to do.  For most of our examples you will want a "boot to H0 RAM" mode.  Once there you can redirect the code flow to the start of the c init routine which in turn goes to main().  In the examples we provide this redirection is usually done in a file called CodeStartBranch.asm. 

    I've copied the below from the 2812 archived workshop material:

    http://processors.wiki.ti.com/index.php/C2000_Archived_Workshops