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.

What is the invalid code for C6472?

Other Parts Discussed in Thread: TMS320C6472

What is the invalid code in the following?

 When immediate boot is selected after global reset, the C64x+ megamodule core executes directly
 from the internal L2 SRAM address programmed in the DSP_BOOT_ADDRx register. Note: device
 operation is undefined if invalid code is address programmed in the DSP_BOOT_ADDRx register.
 Executing invalid code may prevent connection by an emulator.

TMS320C6472 Fixed-Point Digital Signal Processor (Rev. G)
http://www.ti.com/lit/ds/sprs612g/sprs612g.pdf
2.4.1 Boot Modes Supported

Best regards,

Daisuke

  • Daisuke,

    There are some words missing from this paragraph you quoted. I believe the following would be better wording that should be in the datasheet:

    When immediate boot is selected after global reset, the C64x+ megamodule core executes directly
     from the internal L2 SRAM address programmed in the DSP_BOOT_ADDRx register. Note: device
     operation is undefined if invalid code is at the address programmed in the DSP_BOOT_ADDRx register.
     Executing invalid code may prevent connection by an emulator.

    The references to "invalid code" mean any code that was not what you wrote and loaded at the start address of 0x00800000. If you have loaded valid code that you wrote and intended to be at address 0x00800000, then there will not be a problem.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • Thank you for a reply.

    Does not the default value at the start address of 0x00800000 after global reset become invalid code?

    Is there the problem if invalid code is at other than a address programmed in the DSP_BOOT_ADDRx register?

    I am worried about "Executing invalid code may prevent connection by an emulator".

    Best regards,

    Daisuke

  • Daisuke,

    I understand your concern, and reading the documentation allows that concern to remain.

    But I also know that using No Boot or Immediate Boot is the common way to use the c6472 with the emulator. I do not recall having any problems with having the emulator physically connected and logically connected through CCS with this mode. Generally, when you Launch the Target Configuration and then Connect to Core0, that core will be at address 0x00800000 waiting for you to load a program. It is not running away in invalid memory.

    My suspicion is that the documentation is trying to give more information than just the POR reboot. There are several types of resets, and in some modes like Local Reset you would expect the core to start running at 0x00800000 when that reset is released.

    A better explanation may be available from someone else here, or perhaps someone from the Code Composer Forum. But I believe you will have no problem using this mode if you wish to use it with your emulator. You would not want to use it with no emulator attached.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • Thank you for a reply.

    I could understand using Immediate Boot have no problem which is to prevent connection by an emulator.

    Best regards,

    Diasuke