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.

Compiler/TMS320F28035: TMS320F28035 not able to run Stand Alone

Part Number: TMS320F28035
Other Parts Discussed in Thread: CONTROLSUITE

Tool/software: TI C/C++ Compiler

Hi

I just made custom board for 28035 CPU, i can load & debug program very well, here is my schematic, take a note that TRST pulled Down to gnd  and XRS pin Pulled Up to Vcc,  So I expected the CPU will not in reset mode.

I also configure the boot mode pin to be mode 3 (GPIO37 : High GPIO34 : high) so i expected the CPU enter Wait Mode (mode 3 / the first row in table)

I just run example code provided by Ti HVACI sensored FOC motor control as shown

I want make this code standalone without debugging, i just pull off JTAG cable from CPU and recycle the power, to test the stand alone program works well, after CPU reset, CPU will jump to Flash ROM and start excecuting the void main() program, i made simple LED toggle program in main code to check if CPU run my toggling code.

The problem is the toggle LED never run. Did I miss something in hardware configuration or the HVACI_Sensored example code designed not able to run stand alone in purpose.

your help would be very appreciated.

Thank you

BR

Abdin

  • Hi Abdin,

    Please go through e2e thread:

    e2e.ti.com/.../878674

    It highlights all the steps required for running application from Flash. 

  • Hi santosh

    Thank you for your reply, i already have a check in thread forum.

    its works :)

    with this way:

    1. I manually added and inluded DSP2803x_CodeStartBranch.asm (from controlsuite folder example) and fill entry point  with "_c_int00"

    (b) Disable watchdog in the f28x_codestartbranch.asm (WD_DISABLE  .set  0; should be replaced with WD_DISABLE  .set  1; in this asm file).  This helps to avoid watchdog reset before reaching main().  If there are lot of global variables in the application, the cinit routine may take more time to initialize all of them before reaching main.  During this time, watchdog may expire and hence suggested to disable it.  You can enable it again in the main() as needed by your application

    (c) Please make sure that f28x_codestartbranch.asm file is included in your application and that the codestart is mapped to the flash entry point location (generally defined as BEGIN in TI provided linker CMD files) in the linker cmd file.

    (d) Please make sure that code_start (--entry_point=code_start) is added as the entry point in the project's linker options.     

    Project build settings -> Build -> C2000 Linker -> Advanced options -> Symbol Management -> --entry_point:  code_start

    Added manually DSP2803x_CodeStartBranch.asm 

    Fill the entry point 

    just it, I load the program with debugging and push reset button and i made simpe toggle LED program run (LED successfully toggled)  and also pull of debuging cable then recycle the power the toggling LED program still there. it confirm CPU executing code from flash and stand alone .

    Thank you

    BR

    Abdin