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/TMS320F280049C: TMS320F280049C

Part Number: TMS320F280049C
Other Parts Discussed in Thread: LAUNCHXL-F280049C, C2000WARE,

Tool/software: Code Composer Studio

Dear TI engineers,

Today, I want to download program into flash. But when I use 28004x_generic_flash_lnk.cmd  instead of 28004x_generic_ram_lnk.cmd, the project has a mistake. I have remembered that this mistake could not happened at several months ago. 

I do not know what have happened. Could you help me find some questions? The package is an simple project I setup to verify this problem. By the way, I use the LAUNCHXL-F280049C.

Looking forward to your reply and best wishes to you.

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/81/280049C_5F00_test.7z

  • Hi,

    Please take a look at this thread: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/809555?Compiler-TMS320F280049C-Break-at-address-0x3fbd92-with-no-debug-information-available-or-outside-of-program-code-#pi320995=1

    Please go through the entire discussion using the traverse buttons available at the bottom of the page.

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    I have read your reply carefully. However, my problem have still appeared. Here, I have some doubts about this question showed in link which you posted.

    1. Example project of “led_ex1_blinky” could copy code from flash to ram and boot from flash successfully because I turn CPU1_RAM to CPU1_FLASH in properties -> configuration and turn 28004x_generic_ram_lnk.cmd to 28004x_generic_flash_lnk.cmd.

    But, in my opinion, CPU1_RAM/CPU1_FLASH equal to debug/release as mentioned in link. This change should not affect project running, but only have an influence in compile way and output file. In other words, if a project could run in debug mode, it should also run in release mode except some minor changes.

    I have not know whether this perspective is right. Why it have problem when I choose CPU1_RAM(debug) in this example.

    2. I also have define _FLASH in main.c. But, in Example project of “led_ex1_blinky” it does not work until add _FLASH in properties ->Build->C2000 Compiler->Predefined Symbol. Why? Is not this defination only to active the “ifdef _FLASH” in code?

    3. Even I add Predefined Symbol in release mode, problem also appear in my own project.

    4. I have used all the .ccxml file in C2000Ware_2_01_00_00. By the way, I used one which I create also.

    5. Shall I do some things in the LAUNCHXL-F280049C. For example, some hardware connection.

    6. The test example roject which is absolutely easy I have already sent to you. You coudl try it by yourself. 

    Looking forward to your reply and best wishes to you.

    coke_kou

     

  • Hi Vamsi,

    I have an another question about the problem of communication.

    I could only receive the reply in the next day when I post a question. I think this frequency is so slow that I could not follow question tightly.

    So, do you know some better idea to force the pace.

    Thank you.

  • Coke,

    1&2) Flash build will use Flash linker cmd where all initialized sections are mapped to Flash. Also, in this build, you can notice in the example that memcpy() is called to copy the .Ti.ramfunc section contents from Flash to RAM before executing them.

    3) Did you add _LAUNCHXL_F280049C symbol as well?  

    4) Did you use TMS320F280049C_LaunchPad.ccxml? But you are able to connect and execute from RAM already.  

    5) Did you check the boot mode DIPs to configure for Flash boot? 

    E2E follow-up is the best method to get fast response. I will see if I can loop another expert to help you.

    Thanks and regards,
    Vamsi

  • 0x3FBD92 is the location of the boot ROM's ITRAP ISR. In addition to Vamsi's questions, can you tell me if you're arriving at this point immediately on loading the code or are you able to step through step into InitSysCtrl() for some time before it happens?

    I tried the application you shared on my own LaunchPad and didn't have any issues after adding the 2 predefined symbols described by Vamsi. If I removed _FLASH, I did end up at 0x3FBD92 after trying to execute the delay in PollX1Counter() in the clock configuration since the memcpy() Vamsi mentioned was skipped, meaning the delay function hadn't been copied from flash to RAM and trying to execute at that location caused an ITRAP.

    Whitney

  • Hi Vamsi,

    Thanks for your reply. Here are some doubts.

    1. You do not tell me difference between predefine in the .c file and add symbols in the properties ->Build->C2000 Compiler->Predefined Symbol. Example of “led_ex1_blinky” could run in flash with no trouble only when I choose later way.

    2. Example of “led_ex1_blinky” could run successfully in CPU1_RAM(debug) when I added _FLASH in properties ->Build->C2000 Compiler->Predefined Symbol.

    3. Yes, I add  _LAUNCHXL_F280049C and _FLASH in properties ->Build->C2000 Compiler->Predefined Symbol in debug and release mode.

    4. Yes, this idea maybe not the key.

    5. Status of pin showed in TMS320F28004x Microcontrollers Technical Reference Manual are all high level. The pin of GPIO24 and GPIO32 I check are high level(3.3V), too.  

  • Hi Whitney,

    Thanks for your reply.

    I only add debug variate in this place before it could run successfully. So surprise! I do not know what happened.

    Maybe, I could do real project in this way and run some days.

  • Hi Vamsi,

    Could you help me to resolve confused questions remained though the program seems run successfully.

    Looking forward to your reply.

    Best wishes to you.

  • Hi,

    Did you check the “ifdef _FLASH” in device.h at c2000\C2000Ware_x_xx_xx_xx\device_support\f28004x\common\include\device.h ?

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    Yes, “ifdef _FLASH” in device.h at c2000\C2000Ware_x_xx_xx_xx\device_support\f28004x\common\include\device.h.

  • Hi,

    Instances like this might me there in other places of the project.  If you include _FLASH in predefined symbols, it would apply for all the files in the project.  Hence, we suggest to add it in predefined symbols.

    Thanks and regards,
    Vamsi