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.

TMS320F28069M: Porting Motorware to C2000Ware

Part Number: TMS320F28069M
Other Parts Discussed in Thread: C2000WARE, MOTORWARE, CONTROLSUITE

Hi,

While porting Lab05d to C2000Ware, I stumbled upon this issue:


#148 declaration is incompatible with "Uint16 RamfuncsLoadEnd" (declared at line 317 of "D:\ti\C2000Ware_1_00_04_00_Software\device_support\f2806x\common\include\F2806x_GlobalPrototypes.h")    proj_lab05d.c    /proj_lab05d    line 149    C/C++ Problem

#148 declaration is incompatible with "Uint16 RamfuncsLoadStart" (declared at line 316 of "D:\ti\C2000Ware_1_00_04_00_Software\device_support\f2806x\common\include\F2806x_GlobalPrototypes.h")    proj_lab05d.c    /proj_lab05d    line 149    C/C++ Problem

#148 declaration is incompatible with "Uint16 RamfuncsRunStart" (declared at line 318 of "D:\ti\C2000Ware_1_00_04_00_Software\device_support\f2806x\common\include\F2806x_GlobalPrototypes.h")    proj_lab05d.c    /proj_lab05d    line 149    C/C++ Problem

Wondering how to resolve this one.

Thanks,

Manu

  • You might refer to a lab example project based FLASH, not RAM configuration, these 3 symbols are defined in the .cmd file, and clarified in a header file, or in the proj_labxx.c file (motorWare used this file).
    It's not necessary to port motorWare to C2000Ware, just need to add some files from controlSUITE or C2000Ware if you want to use some existing peripheral example in motorWare.
  • Hi,

    Had a conflict with ISR's between the 2 different register layouts and hence had to port Motorware to C2000Ware, another application being developed with C2000ware, both need to work together. Especially, the ADC was a bit problematic.

    Had a look into other examples. Couldn't really find out what the issue really is. Will spend some more time on it.

    Thanks,

    Manu
  • Good. You might port the files from controlSUITE or C2000Ware based on motorWare, just add the device or application functions based on bit fields structure you need that should be easier to do. Let me know if you have any further questions.
  • Commenting out the following in lab05d does seem to work, as everything else seems in place.


    //#ifdef FLASH
    // Used for running BackGround in flash, and ISR in RAM
    //extern uint16_t *RamfuncsLoadStart, *RamfuncsLoadEnd, *RamfuncsRunStart;
    //#endif

    After that: Build Configuration -> Set Active -> Flash

    does appear to build as expected.
  • I am slightly perplexed the way Motorware manages the 2 build configurations, one for the RAM and the other for the Flash.
    While I was writing the application for C2000ware, there was a need to use the DMA and as a result, had to use DMARAML8 and make the appropriate change to F28069_ram_lnk.cmd. This worked all the fine from RAM.
    That said, in lab05d build, it uses F28069.cmd for the FLASH build. I never made any changes to this, but RAML8 seems to be defined in there.
    But all that said, the application boots from FLASH at the moment. I need to disconnect TRST from the XDS100 though.
    It looks great now.

    That said, the build configuration management with Motorware looks nice. I wish that was easily possible with other projects in use.
    Is it as simple as adding one more configuration in the CCS Project configuration ?

    Thanks,
    Manu