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.

UCD3138 training lab compile errors

Other Parts Discussed in Thread: UCD3138OL64EVM-031, UCD3138, UCD3138064

I purchased the UCD3138OL64EVM-031 and I am trying to get the training labs loacted at http://e2e.ti.com/support/power_management/digital_power/f/184/t/292514.aspx working.

I followed the appnote  "Converting UCD3138 Firmware Project from Code Composer Studio Version 3.3 to 5.2" to convert the labs to work with CCS v6. I get the compile errors shown in the attached image when I try to build the project.

I have also tried setting the main.c file to 32-bit mode (instead of the default 16-bit) and got nowhere. 

 

Any help would be appreciated. Thanks!

  • Hi Edward,

    We have a tool that can automatically convert CCS 3.3 project to CCS 6 project integrated into our UCD3xxx & UCD9xxx Device GUI.

    This GUI can be downloaded here :

    http://software-dl.ti.com/analog/analog_public_sw/fusion/TI-Fusion-Digital-Power-Designer-1.9.62.exe

    The tool is placed in the Utilities tab.

    I would also like to mention here that that tool is designed to work with projects that follow our initial code structure as mentioned in this document :

    Converting UCD3138 Projects from Code
    Composer Studio version 3.3 to 5.2 (Rev. A)
    @ http://www.ti.com/lit/pdf/slua679

    Thanks,

    Sanatan

  • Has anyone got CCS 6.0 to work with UCD3138 yet? I've been trying with the tutorials with no luck.
  • Hi Previn,

    Could you please let me know what exactly is the error that you are getting ?

     

    -Sanatan 

  • This link describes all the steps and exactly what is wrong
    e2e.ti.com/.../1452979

    tl dr: .x0 file is generated, but doesn't execute program.
  • Any ideas? still doesn't work!

  • So it looks like you are not getting any errors, but just a few warnings. I don't think those warnings are the issue, unless they point to a bigger issue. It's hard to tell without seeing your project and code files.

    You are seeing a .x0 file that is being built?

    Can you confirm that when you use the Fusion UCD3xxx/UCD9xxx device GUI to download the firmware that there are no errors that the GUI reports when downloading? Remember: Do not write the checksum!!!

    If there are no errors when downloading the GUI, then I think it is safe to assume that your program is being run. Check for infinite loops, etc. With the typical UCD3138 firmware, the device will not respond to the GUI when it asks for a device_id unless you call the PMBus handler function. Are you calling that function anywhere?

    What source code did you start from? A training lab?
  • I can build the and download the .x0 file every time, but it wont jump to program mode and execute code.

    I have never written the checksum. To ensure this, I used a brand new out of the box  UCD3138PSFBEVM-030 board after I started having this problem. And wrote without checksum.

    I am using the hello world tutorial (lab 1) designed for CCSv3 1 at: http://e2e.ti.com/support/power_management/digital_power/f/184/t/292514

    Following the tutorial powerpoint, I can open the memory debugger, and sometimes view the contents of A_String is incorrect, or sometimes not view any memory at all.

    Any chance you have the tutorials available for CCS6.1?

  • Previn,

    Thanks for the screenshot. I can see that you have no issues seeing the device in ROM mode. I can also see that the download completes without error, but it looks like something caused the device to reset during execution. I am not sure why this is. It could be due to the fact that you are now using CCS6.1. Did you make any additional changes to the project/compiler options when you transitioned from CCS6.0 to CCS6.1? Can you send a screenshot of the warnings that you see after building the project in CCS6.1?

    We have not tested the labs using CCS6.1 yet, and at this moment it is not yet supported for the training labs, but that will change soon.

    Just FYI, when the Checksum is not written (which should usually be the case), the firmware download automatically sends PMBus command 0xF0 after a successful download, which tells the device to execute the program flash.
  • Previn,

    Can you also check to see if you can change your compiler version in the project options to 5.1.8 rather than 5.2.2? What difference does that make?
  • I made quite a lot of changes to the project/compiler options while converting the tutorial from CCS3.3 to CCS6.1, otherwise I would have lots of errors. I haven't actually used CCS6.0 at all, only CCS6.1. This thread outlines all the changes I made to the compiler options e2e.ti.com/.../1452979

    The only error I got after making the changes is:

    This project is currently in 'manual' Parser Preprocessing mode - no dependency graph is automatically generated. According to the PDF on converting CCS3.3 projects to CCS5 (slua679a.pdf), this warning is okay.

    I am unable to change the compiler from 5.2.2 to 5.1.8 because it does not exist. Only 5.2.2 and legacy COFF is available.

  • Sorry, I mean only compiler version TI 5.2.2 and GNU v4.8.4 (Linaro) is available.
    Eabi (ELF) and legacy COFF is the output formats available, and I am using ELF output.
  • If it helps, I changed from CCS 6.1 to 5 and followed the 3.3->5 tutorial. That built correctly as well, however it had the same problem when used in the device GUI.

  • Previn,

    I found an issue. I think it might lead us to the answer:
    In your original post e2e.ti.com/.../1452979
    you mentioned the fixes you applied to the warnings. For number 1, I see the linker file is named ...\cyclone_64.cmd. Is this a typo or is this really the case? This leads me to believe you might be using linker files for the UCD3138064. Are you using the UCD3138064 device, or the UCD3138? The header and linker files are very different.

    If you are using the UCD3138, try the following:
    Start from your original and unchanged copy of the labs. Convert lab 1 using the Fusion tool, and make sure the final project location is in the same parent directory as the rest of the labs. Compile, and let me know if you still get your warning #1 (you shouldnt). If you do, verify with me that you are using a linker file called cyclone.cmd, located in the linker files directory that came with the original copy of the labs.

    Leave warning 2. do not #include "string.h".

    Let me know your results. Thanks!