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.

TMS320F28379D: Question regarding TxEn line in Position Manager Library i.e. BiSS-C, EnDat and Tamagawa

Part Number: TMS320F28379D
Other Parts Discussed in Thread: CONTROLSUITE

I have question regarding Position Manager (PM) Library for TMS320F28379D.

  

1.  For BiSS-C and T-Format, TxEn line which is map to GPIO34 is configurable i.e. user can chose any other GPIO with OUTPUTXBAR1 mux option.

 However for EnDAT 2.2., same TxEn line is dedicated to GPIO34 and is not configurable? Is this correct.

2. Can I assigned GPIO2 (instead of GPIO34) as OUTPUTXBAR1 for EnDat 2.2 PM library?

Please refer to following documents:

   EnDat 2.2:     sprui35.pdf   -> See Figure 2 on Page 6 and Table 6 on Page 33

   BiSS-C:           sprui37.pdf   -> See Figure 3 on Page 6 and Table 9 Page 18

   T-Format:     sprui71.pdf   -> See Figure 2 on Page 6 and Table 6 on Page 20

  • Hi PJ,

    1. Correct.
    2. For BiSS-C and T-format, you can choose any IO not for EnDat22 - as specified in the documentation.

    Are you trying to implement multiple interfaces?

    -Bharathi.
  • Hi Bharathi,

    Yes, since hardware wise they are very similar. Back to PinMux!
    One suggestion:
    Would it be possible to remove “F2837xD_GlobalVariableDefs.c” file from PM_endat22_lib.lib, as this can cause multiple redefinition linker error?
    If you included “F2837xD_GlobalVariableDefs.c” as part of your custom CCS Project or have define DATA_SECTION in one of the project .c/.cpp file and try to link with PM_endat22_lib.lib, linker .cmd file throws multiple errors. This is because there is multiple defines for
    #pragma DATA_SECTION("SpibRegsFile")
    volatile struct SPI_REGS SpibRegs;

    Thanks
    PJ
  • Hi PJ,

    Have you referred to the example project that comes along with the library?
    If not, please have a look at 
    C:\ti\controlSUITE\libs\app_libs\position_manager\v01_02_00_00\endat22\examples
    As it's a pre-compiled .lib and we are not releasing the source code - you'll not be able to make changes at your end.

    -Bharathi.

  • Hi Bharathi,

    I did look at the endat2.2 example for IDK which builds ok.

    However I have create custom project which has .cpp files with defines
    #pragma DATA_SECTION("SpicRegsFile")
    volatile struct SPI_REGS SpicRegs;

    when I try to build my custom project with PM_endat22_lib.lib, I get lot of linker errors for each xxxRegsFile i.e

    "C:/myendat22project/endat.cmd" , line 418: error #10099-D:
    program will not fit into available memory. run placement with
    alignment/blocking fails for section "SpicRegsFile" size 0x20 page 1.
    Available memory ranges:
    *** size: 0x10 unused: 0x10 max hole: 0x10


    I can get around the error by including following in endat.cmd file

    .mysection {
    PM_endat22_lib.lib<F2837xD_GlobalVariableDefs.obj>( ..., SpicRegsFile, ...
    )
    } > RESET PAGE = 0, TYPE=DSECT


    -Jwalin
  • More Hints:

    when I build my custom project, the myendat22project .map file shows that "F2837xD_GlobalVariableDefs.obj" is included as part of PM_endat22_lib.lib


    Module code ro data rw data
    ------ ---- ------- -------
    ../EnDat22/PM_endat22_lib.lib
    F2837xD_GlobalVariableDefs_clb.obj 0 0 2624
    clb_config.obj 2205 0 0
    PM_endat22_Source.obj 1846 0 0
    F2837xD_GlobalVariableDefs.obj 0 0 983 <--------------- Included
    crc.obj 402 0 0
    F2837xD_Clb_drivers.obj 214 0 24
    +--+------------------------------------+-------+---------+---------+
    Total: 4667 0 3631


    However when I build the IDK project i.e. PM_endat22_BasicPosAcc_DelComp.map file shows that "F2837xD_GlobalVariableDefs.obj" is not included as part of PM_endat22_lib.lib and that explains why, IDK example builds ok without any errors..

    Module code ro data rw data
    ------ ---- ------- -------
    C:/TI/controlSUITE/libs/app_libs/position_manager/v01_02_00_00/endat22/Float/lib/PM_endat22_Lib.lib
    F2837xD_GlobalVariableDefs_clb.obj 0 0 2624
    clb_config.obj 2205 0 0
    PM_endat22_Source.obj 1846 0 0
    crc.obj 402 0 0
    F2837xD_Clb_drivers.obj 214 0 24
    +--+------------------------------------+------+---------+---------+
    Total: 4667 0 2648

    Hope this helps

    -PJ