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/LAUNCHXL-F28069M: Flash programming

Part Number: LAUNCHXL-F28069M
Other Parts Discussed in Thread: TMS320F28069M

Tool/software: Code Composer Studio

Hello,

I want to program the Flash of TMS320F28069M for stand alone application. So far,I did this steps:

1) adding :

a) F28069.cmd (removing 28069__RAM_lnk.cmd)

b) CodeStartBranch.asm

c) Headers_nonBIOS.cmd

d) InitFlash()

2) Programming the MCU with JTAG.

3) Powering the MCU off and changing boot pin to Get-mode and powering the MCU on.

Although when I program the MCU with JTAG, I see the message of erasing and programming the Flash, after power on, nothing happens. Also I see in some e2e posts that we should add the following codes:

extern Uint16 RamfuncsLoadSize;
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;

memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);

But when I add those, I get the error of : unresolved symbol _RamfuncsLoadSize.

So what is the problem of Flash programming? is it because off not adding the above code?How can I fix that?

Regard

Mohammad.

  • Can you check your cmd file and see if there's a line in the ramfuncs section that says "LOAD_SIZE(_RamfuncsLoadSize)"?

    Does you program run fine from flash with the debugger connected or does it not work then either?

    Whitney

  • Thanks for response,
    There isn't  a line that says "LOAD_SIZE(_RamfuncsLoadSize)", but there is LOAD_START(_RamfuncsLoadStart) and  LOAD_END(_RamfuncsLoadEnd).

    Yes,when the debugger is connected, it works, but after power off and power on, it doesn't work.

    Regard

    Mohammad.

  • Okay, adding that LOAD_SIZE line should get rid of that linker error. However, the fact that it works when the debugger is connected probably means that ramfuncs isn't your issue.

    Can you look at the guide for the F28069M LaunchPad and make sure you've flipped S1 to GetMode (which by default should boot from flash)?

    Whitney

  • Thanks for response,

    I checked the F28069M LaunchPad data sheet and set the S1 switch by following picture: 

    But  after powering off and setting S1 to Getmode and powering on, it doesn't work.

    1-) Can you please tell me about the steps to program the flash with CCS. I just simply click on debug key on CCS for programming the MCU. Is it ok?

    2-) Also I checked the F28069M LaunchPad data sheet and I found the schematic of S1 switch as follow:

    As you can see, when the switch is on, there is a voltage divider and because of that, the voltage of out put pins of switch are 2.5 volt and aren't 3.3. Is this the problem?

    Regard

    Mohammad.

  • Typically hitting the debug button in CCS is enough to launch the debug session and load the application. If you aren't sure that it loaded though, you can do it  yourself by going to Run->Load->Load Program and selecting your .out file.

    So are you seeing any sign that your application is even reaching main()? I'm trying to determine where it's getting stuck. Can you try blinking an LED at the start of main() just to see if it's still stuck in boot ROM or if it has reached your application?

    Whitney