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.

TMS320F28P550SJ: GPIO3 pullup enable while connect target in CCS

Part Number: TMS320F28P550SJ

Tool/software:

Hi Expert 

I think GPIO3 pull up should be disable (GPAPUD.GPIO3 = 1) at default in TRM as below, however when connect target in CCS, the GPIO3 pull up display as enable (GPAPUD.GPIO3 = 0), even erase the device whole flash to make sure without firmware running, may I know what is the reason and how to avoid that? because customer use GPIO3 as PWM to drive power stage and cannot allow it turn on by high level signal in beginning. 

  • may we appreciate the expert help give advice? customer pending debugging and need workaround solution to continue development 

  • Thanks for your question!

    GPIO3 is used as RX pin for SCI boot mode (option 3 and 4). This is maybe the reason for enabling the pull up. In your application code, can you explicitly configure GPIO3 as needed  to see if it helps (disable the pull-up via GpioCtrlRegs.GPAPUD.bit.GPIO3 = 1;). Also, can you try isolate debugger influence, try running the target standalone (without CCS connection) and monitor GPIO3 behavior.

    Best Regards,

    Masoud

  • Hi Masoud

    We have tested the GPIO3 do not have abnormal pull high issue in running standalone (without CCS connection). And application code can configure GPIO3 back to normal after CCS connection. However customer need CCS debugging and cannot accept the GPIO3 with pull up moment in the begging, can we have workaround to solve it?

      

  • The internal pull-up is automatically enabled pull-up for GPIO3 to support safe idle-state handling during the SCI boot. If you’re not using SCI boot, you can edit the GPAPUD in the .gel file. You should be able to find the the .gel file in the "C:\ti\ccsxxx\ccs\ccs_base\emulation\gel\f28p55x.gel" and then depends on the package edit the "*(unsigned long *)(GPIO_CTRL_BASE + GPIO_O_GPAPUD) &= 0xFBFFBFF7UL;" to "0xFBFFBFFFUL".

    Best Regards,

    Masoud