External reset on TMS320F2808


I changed the start address in the Flash memory in order to allow having a customer bootloader. My problem is that the system doesn't start at correct address after an having an external reset (XRSn).
When debugging, I can see that the address set in the reset vector (0x3FFFC0) corresponds to the rts2800_ml library (0x3FFB50). After releasing the reset, the PC goes to this address and stay blocked about there.

Could someone tell me how is set the reset vector and if I have the possibility to change it (my new start address id 0x3EC000)?

For information, I'm working on the TMS320F2808

Many thanks in advance for your help


1 Reply

  • The reset vector in the F2808 at address 0x3FFFC0 is stored in ROM and thus cannot be changed.   It corresponds to the start address of the boot ROM software. 

    When you configure the boot mode for "boot to Flash" then the boot ROM will jump to the flash entry point which is at address 0x3F7FF6 in flash memory. This location is fixed and cannot be changed. This location is just before the 128-bit code security module (CSM) password locations. You are required to have  programmed a branch instruction at location 0x3F7FF6 that will then redirect code execution to either a custom boot-loader or the application code.

    The boot ROM flow and boot mode configuration is described in

    TMS320x280x, 2801x, 2804x DSP Boot ROM Reference Guide  (spru722)

    For a simple  "boot to flash" example that has the branch instruction programmed at 0x3F7FF6 take a look at the example called "flash" in:

    C280x, C2801x C/C++ Header Files and Peripheral Examples (sprc191)


    C2000 TI Wiki Pages
    TI Forum Sitemap
    C2000 Getting Started
    CLA FAQs
    Workshop Material!