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.

TMS320F280049M: TMS320F280049M

Part Number: TMS320F280049M

Hello,  

 

I need to make controlCard with TMS320F280049M standalone. In control card manual is described what should I do from hw side (turn off onboard JTAG, select FLASH boot mode).

I ran into problems when I changed project .cmd file from  280049M_RAM_Ink.cmd to 280049M_FLASH_Ink.cmd (both from default TI c2000 ware files). Reason for this change is the standalone mode – program located in RAM did not start after control card power supply reset, only after re-programing by XDS100...

 

-> Problem is that I cant write to flash with XDS100 onboard programmer (See CCS Console log in attachment), can you please give me the advice, what I am doing wrong? (project is using device.c library – with flash init functions)

 

Thank you,

Miso



  • Miso,

    1) Which CCS version are you using? You need CCS v6.2.0.00050 or onwards. Check for updates and install if any.

    2) Make sure to erase the Flash before programming it.

    3) Enable the verbose output mode available at the bottom of the On-Chip Flash GUI in CCS Tools menu and provide us the detailed console view messages for further analysis.

    Thanks and regards,
    Vamsi
  • Michal,

    in addition to the comment from Vamsi please remind my latest mail when F280049 became public:

    Please use the latest versions of documentation and software:

    TMS320F280049 : www.ti.com/product/TMS320F280049M  

    C2000Ware v1.0 : www.ti.com/tool/C2000WARE

    CCS: processors.wiki.ti.com/.../Download_CCS

     

    Regards, Bernd

  • Hello Vamsi,Bernd,

    thank you for fast reply and good advice.

    1.) now programming works, problem was in the old version of CCS (6.1...). After reinstalling problem disapeared, now the program seems to be in FLASH.

    2.) But I am still not succesfull with standalone mode...

    -> after startup in debug mode the program goes directly to the ESTOP0, see Picture. I tried to search and some problem seems to be in function called from device.c:

    Flash_initModule(FLASH0CTRL_BASE, FLASH0ECC_BASE, DEVICE_FLASH_WAITSTATES); (in Flash.c)

    When I remove it from the code (just for test), program works (no ESTOP conditions). However, standalone startup after control card power cycle still not working (control card switches setup according to manual).

    Are there any other options, which need to be set?

    Thank you very much,

    Miso

      

  • Miso,

    Good to know that you are able to program Flash now.

    (1) Regarding the standalone mode:  Did you check your boot pin configuration?  Both GPIO24 and GPIO32 should be set high for boot to flash mode.

    (2) Regarding the debug mode ESTOP issue: Thank you for the screenshot.  We will look in to it.  Few questions for you:

    (i) Did you disable "AutoEccGeneration" option in On-chip Flash Plugin GUI by any chance?  It should be enabled by default.

    (ii) What is the operating frequency that you are using?

    (iii) How many Flash wait-states are you using?

    Thanks and regards,
    Vamsi

  • Vamsi, Bernd,

    The problem seems to be solved, AutoEccGeneration was somehow disabled, after enabling, ESTOP problem disapeared and standalone mode works with switch setup (boot mode, JTAG control) described in control card manual. Installing latest CCS (v7) was also important.

    In addition, what is this miraculous AutoEccGeneration doing?

    Thank you very much for perfect support !

    Miso

  • Michal,

    for more details about AutoEccGeneration, please see: TMS320F28004x TRM www.ti.com/lit/pdf/sprui33   -> 2.12.10 Error Correction Code (ECC) Protection.

    Regards, Bernd

  • Miso,

    Glad that your application is now working fine in both debugger mode and standalone mode after enabling AutoEccGeneration mode and configuring boot pins for boot to flash mode respectively.

    AutoEccGeneration mode is explained in section 3.4.1 of TMS320F28004x Flash API reference guide available at www.ti.com/.../spnu628.pdf. I would suggest you to read this after reading the ECC section in the TRM (Bernd pointed it to you).

    In short, using AutoEccGeneration mode when using Flash API or On-Chip Flash Plugin will automatically calculate ECC for the user provided Flash main array data and program it along with the main array data.

    ESTOP address in the snapshot that you posted earlier is the NMI handler location in BootROM. Since, you did not program ECC earlier, ECC errors occurred while executing your application. An uncorrectable ECC error will cause NMI. Hence, your application went to NMI handler in BootROM.

    Hope this helps.

    Thanks and regards,
    Vamsi
  • Miso,

    Hope your questions are answered.  I am closing this thread now.  

    Thanks and regards,
    Vamsi

  • Vamsi,

    thank you very much for the support and AutoEcc generation explanation. Now we do not have any open questions.

    Thanks and regards,

    Miso 

  • Miso,

    Thank you. I am closing this thread now.

    Regards,
    Vamsi