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/TMS320F28026: Stepping code from BEGIN 0x3F7FF6

Part Number: TMS320F28026


Tool/software: Code Composer Studio

I am running Code Composer  Version: 5.1.0.09000 (for legacy reasons) and I'm having great difficulty telling the debugger to begin stepping from the start address 0x3F776.  Per the C2000 data sheet and boot rom documentation TMS320x2802x Piccolo Boot ROM Reference Guide, the processor executes the instructions at that address which should be Jump to start routine.  

What is happening is that Code Composer is jumping directly to main and stopping there, even though I have disabled that option under the Debug Configurations -> Target tab -> Generic Debug Options -> Auto Run Options

My problem is that here are intializations taking place - ie SP etc, that are not being executed because they're being skipped over by the debugger.

I don't want to hack my code to place the assembly instruction setting the stack pointer in my main.c code when it should work when placed in the assembly file that does call the main function.

Thanks,

  • Hello

    Are you saying you want the debugger to halt in that code or make sure to run it? Did you edit the f2802x_codestartbranch.asm that specifies the codestart section?

    If you just don't want it to halt at main, load your code to flash, set the EMUboot to flash, cpu reset and then run. This should run through boot and begin running your app without stopping at main.

    Best regards
    Chris
  • The behavior I'm expecting is when the debugger is connected and program is loaded, the execution will halt at PC = 0x3F7ff6 which is the branch address from the boot loader into my application code. When I single step, I expect the debugger to execute the instruction at that address. If I select the option to run to a symbol - eg main, that it will run to the entry point of that symbol and halt.

    Right now when I want to run the code, I have to load the image, let it run to main, then set the pc back to 0x3F7ff6 and then run again so that it runs our initialization code.

    I've also edited the f2802x_codestartbranch.asm file to make it specific to our application. I've also kept some system initialization code there such as stack and some other params.
  • What boot mode have you selected? Depending on where you have placed your application (RAM or flash) I suggest setting the boot mode of your device to that boot mode. Also, I am not sure what the reason is for modifying codestart branch, but make sure your coedstart section is still a LB _c_int00.

    When you have the debugger connected and have loaded your program, reset the device with a debugger reset and click the RUN button. You are free to load boot ROM symbols and set a breakpoint where you wish in the boot ROM.

    sal
  • Avinash,
    is the issue solved?