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.

CCS/TMS320F28054F: What happens to GPIOs during reset before configuration by software?

Part Number: TMS320F28054F

Tool/software: Code Composer Studio

During the reset that occurs when the emulator board and Code Composer prepare to flash the cpu before running, we are noticing some undesirable behavior on our custom board related to our use of GPIO29 as an output which should be low before we are ready.  What state do all the GPIOs change to upon reset before programming starts?

  • Actually its GPIO40 that is the problem for us
  • We discovered the problem was documented in the errata regarding Gpio40.
  • David,

    Yes as you have found, for the TMS320F28054F as documented in the errata (SPRZ362E) for revisions 0 and A, the pullup is enabled on reset for the following pins: GPIO20, GPIO21, GPIO24, GPIO30, GPIO31, GPIO40, and GPIO42.

    "If these pins being pulled high (upon reset) is an issue in the application, use an external pulldown resistor to overdrive the default state of the internal pullups. A value of 1.8 kΩ is adequate to achieve this. However, TI recommends that the design be validated for
    proper operation to ensure that other components connected to these pins operate correctly in the presence of this pulldown resistor."

    Also, in the data sheet (SPRS797B) on page 18, "General-Purpose Input/Output 40. Internal pullup enabled by default."

    In general on the F2805x:

    If a GPIO pin is commonly used as an ePWM (GPIO-00 for instance), the pull-up is disabled at reset. It can then be enabled by software.

    If a GPIO pin is not often used as an ePWM, then the pull-up is enabled on reset. It can then be disabled by software.

    I hope this helps.

    - Ken