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.

Compiler/TMDSCNCD28035ISO: Solar Micro Inverter Sample Code Not Compiling

Part Number: TMDSCNCD28035ISO
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE, C2000WARE-DIGITALPOWER-SDK

Tool/software: TI C/C++ Compiler

Hello!

          I currently have this Piccolo TMS320F28035 Isolated controlCARD, and I bought a docking station/baseboard for it.

Card:

http://www.ti.com/tool/TMDSCNCD28035ISO

Docking Station:

https://www.ti.com/tool/TMDSDOCK28035

Micro Inverter Baseboard:

http://www.ti.com/tool/TMDSSOLARUINVKIT#technicaldocuments

I found the sample code in "C:\.......\controlSUITE\development_kits\TMDSSOLARUINVKIT_v100\MicroInv_F2803x". I am using controlSUITE because I cannot find a sample code in C2000Ware. 

I made a new CCS project and added in all the files from controlSUITE as shown in this screenshot. I also had to add in a bunch of header files and linked 2 libraries to the project. I am using the "F28035_FLASH_SolarMicroInv.cmd" file as well as the "xds100v1_F28035.ccxml" file given.

My issue is that I am getting errors when compiling. I get a bunch of unresolved symbol errors (screenshots attached showing errors and all files used), so I went through the files, and I found that these variables are defined, they're just not getting compiled. As an example, AdcRegs is found in "ADC_SOC_Cnf.c"  and it only includes "DSP2803x_Device.h".  I found a similar post that said I need to put all the "#include" statements before the " #ifndef / #define " statements, but this is just causing me more errors. 

Lastly, I am using the F28035_FLASH_SolarMicroInv.CMD file, and I still get the error that the program will not fit into memory. Is there any way to allocate more memory so it does fit? 

Any suggestions would be appreciated. 

Thanks,

Abraham Kuruvila

  • Hi Abraham,

    While I have routed your question to one of the subject experts, I couldn't help but wonder why did you have to create the a new project and add the files manually instead of importing the project directly from ControlSuite.

    Although there is no harm in what you are trying to do, my suggestion would be to import the project directly from ControlSuite and try compiling. This way, you can then compare what is missing in the project you have created to understand the issue better.

    The build may have broken due to broken paths in your CCS project. Please check your include options and see if they are valid.

    Thanks & Regards

    Pramod

  • Hi Pramod,

    I took your advice and it seems to almost fix my issue. I tried uploading through two ways:

    1st :

    File -> Open Projects from File System:

    2nd:

    Project -> Import CCS Projects

    Both of these methods uploaded the project into CCS, and I had to download and switch the current compiler I was using to version 6.2.5. After all this, I get one last error remaining. After searching around, it seems I need to tick the "Use default build command", but CCS is not letting me tick it. I tried some of the "fixes" I saw online such as creating a new  different workspace and reloading the project. Do you have any suggestions for how to proceed?

    Thanks,

    Abraham Kuruvila

  • Hi Abraham,

    In the future if you are looking for similar solutions, please reference the C2000Ware-DigitalPower-SDK package for similar examples. If you still need help with the memory allocation for the linker command file, please reference the FAQ on this wikipage: https://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking

    What version of CCS are you using? I was able to build this project in CCSv 9.3.0 using compiler version 18.12.4.LTS. Please note that using older compilers may not be compatible with newer CCS versions. I would advise that if you revert to an older compiler that you also use the corresponding CCS version that supported that compiler. In the case of compiler v6.4 i would recommend you use CCSv7.4.0.


    Regards,

    Ozino

  • Hi Ozino,

    I am using CCSv 9.3.0 as well. I was using 18.12.4.LTS, but I was getting a compiler warning saying I needed 6.2.5 which is why I downloaded and used that. I made a fresh new workspace, uploaded the project into that, and used the 18.12.4.LTS compiler. The "Use default build command" was automatically ticked(I tried unticking it as well). I still am getting errors. 

    It asked for the DSP2803x_ header files. I went ahead and added an includes path to all the header files it wants. I still get the gmake error. I am confused because I thought Pramod's suggestion of uploading the project directly would take care of not needing to add in these extra header files. Regardless, I am unsure how to proceed.  

  • Hi Abraham,

     

    Looking at your snapshots, I see that there are still a few broken files (ex. All the DSP2803x_*.* , *.libs . You can notice the small exclamation mark at the bottom left of the files icons highlighted in the image below) which ideally should not be the case if you just import the projects as is from the controlsuite.

     

    If you import the project, ideally it should look like this.

    The arrows against the DSP2803x_*.* files and the *.lib shows that they are linked files. To understand why they are broken, please navigate to the project properties à Resource à Linked Resources. Under the Linked Resources Tab, you will have the linked files listed. Please ensure that you resolve the file paths by clicking the edit against each broken link. The macros like CONTROLSUITE_F2803x_DEVICE_SUPPORT_ROOT etc are defines under the Path variables tab. Few of those macros are invalid in my opinion. Please fix them and then you should be able to compile the project.

     

     

    Above should point you in the right direction.

    Also, as Ozino mentioned, you should be able to build these using the compiler 18.12.4.LTS and also refer to  C2000Ware-DigitalPower-SDK for similar solutions.

    Thanks & Regards

    Pramod

     

  • Hi Abraham,

    As Pramod already suggested earlier, I would strongly advise you import the project as is from controlSUITE into CCS. I would also recommend you select the option to 'Copy projects into workspace' at the project import window. This will create a version of the project and its dependencies in the CCS workspace directory. By importing the project as is all dependencies should be satisfied.

    In terms of the compiler error, the mismatched compiler version should issue a project warning instead of an error. Here is a snapshot of my console output and problems window.

    Regards,

    Ozino

  • Hi Pramod,

    I imported this project like you said, but I went ahead and fixed the broken files. I also added in another set of includes that the project requested. However, I am still getting this error "cannot open source file stdint.h". I tried looking through controlsuite to find this file, but this file isn't located anywhere in there (to the best of my knowledge).  

  • Update:

    Since you were able to get it working, I decided to just download another controlsuite and import the project again. It now works! I am not sure why my old controlsuite wouldn't work since the files are exactly the same.

    Thanks for your help Pramod and Ozino! 

  • Abraham, 

    Glad to hear you have your solution working. Thanks for the feedback.

    Regards,

    Ozino