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: Problem with Debug

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

Tool/software: Code Composer Studio

Dear All

      I started debugging now one application with F6.

The debug starts in the correct point but next jumps all over the program randomly. I think that the communication with the board is Ok because it clears the FLASH. 

The global variables have the correct value. But the local variables (to the main function) have not because the program jumps and do not put the correct value on them

Can you give any clue on this? Or some document that I can read?

Thanks

Luis Gonçalves

  • 0x1873f (No symbols are defined)
    No source available for "0x1873fb"

    See messages above that appears
  • I have no more problem with "No symbols defined". Now, despite out of order execution (what can be normal - perhaps with the optimizations of the compiler) it executes an instruction say "int fg=1;" and "fg" shows 63 in the watch
  • Again, "No Symbols Defined"

    I disabled optimization. Now the program runs straight. 

    But the variables do not actualize in the watch (even with refresh)

    Seems perhaps a bad pointer to the positions in memory. But the program is well coded

  • user4957458 said:
    I disabled optimization. Now the program runs straight. 

    It is a good idea to disable optimization if you want a better debug experience. Otherwise the debug experience is not as straightforward as the optimizer may move instructions around. 

    I can't tell why the variable value is not correct in the Expressions view without looking at the code or more details about yourenvironment. You could try debugging this further by opening the Disassembly view in CCS (as well as Registers and Memory view) and while stepping through assembly instructions carefully observe if/where the code may be executing incorrectly.

    Also which version of CCS are you using? CCSv7 is the latest version and it is always advisable to use the latest version, whenever possible.

  • See these messages at compiling time. The map file have no these addresses

    warning: Data is being written to auto-generated file Allied1.t10
    warning: section Allied1.out(.text) at 07e0000h falls in unconfigured memory
    (skipped)
    warning: section Allied1.out(.cinit) at 07e0878h falls in unconfigured memory
    (skipped)
    warning: section Allied1.out(.econst) at 07e0a0ch falls in unconfigured memory
    (skipped)
    warning: section Allied1.out(ramfuncs) at 07d0000h falls in unconfigured memory
    (skipped)
  • Please see this post for the reason for these warning messages.

    Also in future please start a new post for new unrelated questions so the discussion for each topic can be kept separate and relevant. This makes it easier for those searching the forums to quickly find answers to their questions.

  • The warnings solved

    But post "Sep 29, 2017 10:44 AM"
    Again, "No Symbols Defined"

    I disabled optimization. Now the program runs straight.

    But the variables do not actualize in the watch (even with refresh)

    Seems perhaps a bad pointer to the positions in memory. But the program is well coded

    The issues above still open
  • .stack 1 00000050 00000300 UNINITIALIZED
    00000050 00000300 --HOLE--

    The xxxxxx.map file has the above entry. The program when begins initialize the stack or must be done something here?
  • user4957458 said:
    Again, "No Symbols Defined"

    At what point does this message appear? After loading your code, or clicking the "Debug" button, do you halt at main()? Do you see the message when you suspend the code after running?  Does it report an address with the message? It's possible the address is within a reserved memory space, for whatever reason, and that's why it can't find any source/symbols. It could be due to a coding issue or even a hardware issue. You could try using breakpoints or step through your code and debug further.

    You also did not mention which version of CCS you are using.

    Regarding the variables, have you tried to debugging why the values are incorrect? Perhaps there is insufficient stack space. You could try increasing the stack size in the project's linker settings and see if that helps. 

  • Thanks for the clues

    After some work in the F28069.CMD file, I put all program parts in Page 0 and I put all data parts in Page 1

    Did not solved the program (even increase stack size)

    When I loaded the program to FLASH was printed on screen the following lines

    C28xx: Writing Flash @ Address 0x003f7ff6 of Length 0x00000002 (page 0)
    C28xx: Writing Flash @ Address 0x003e8000 of Length 0x00000efb (page 0)
    C28xx: Writing Flash @ Address 0x003f0b7a of Length 0x00000231 (page 0)

    The lengths are too small to fit the program. 

    The map file has this entry ".text      0    003f0000    00000b79". Appears that .text is not being written to FLASHA_B.

    Other entry from map file 

    FLASHA_B 003f0000 00007f80 00000daa 000071d6 RWIX

    There "daa" occupancy but do not appear in the above lines beginning by "C28xx: ........."

    My versions: CCS 7.3, C2000ware 1.00.02, Compiler 17.6.0

  • user4957458 said:
    There "daa" occupancy but do not appear in the above lines beginning by "C28xx: ........."

    Were all parts of the code getting programmed properly before you made the changes to the F28069.cmd file? Have you tried using the F28069M.cmd?

    For this issue with Flash programming, if you could share your project I could try to see if I can recreate the issue at my end. I do not have a F28069M Launchpad but do have a F28069 experimenters kit so could give it a go with that.

  • Yes, I used F28069M.cmd and not F28069.cmd
  • This issue was worked and resolved offline. 

    The root cause for the program not functioning correctly was that the main() routine was placed in "ramfuncs" section (which is loaded to Flash and run from RAM). Once that was changed to run from Flash the issue was resolved.