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.

UART1 pin mapping missing for TM4C123GH6PGE

Other Parts Discussed in Thread: TM4C123GH6PGE

We have recently updated to TivaWare C Series 1.0 through TI RTOS 1.10.00.23 ... after fixing all things necessary for the transition I noticed that I am still missing a few #defines from driverlib/pin_map.h for UART1. According to the datasheet for the processor, UART1 is allowed to be mapped onto the pins we have defined.

Below is a list of the undefined symbols which were previously defined in this file:

#20 identifier "GPIO_PF3_U1DSR" is undefined
#20 identifier "GPIO_PF1_U1CTS" is undefined
#20 identifier "GPIO_PF4_U1DTR" is undefined
#20 identifier "GPIO_PC5_U1TX" is undefined
#20 identifier "GPIO_PF0_U1RTS" is undefined
#20 identifier "GPIO_PC4_U1RX" is undefined

Any idea where to find these? Is this a known problem? Am I missing something obvious?

  • I have just looked in C:\ti_ccs5_4\tirtos_1_10_00_23\products\TivaWare_C_Series-1.0\driverlib\pin_map.h and in the section for #ifdef PART_TM4C123GH6PGE have found:

    #define GPIO_PF3_U1DSR 0x00050C01
    #define GPIO_PF1_U1CTS 0x00050401
    #define GPIO_PF4_U1DTR 0x00051001
    #define GPIO_PC5_U1TX 0x00021402
    #define GPIO_PF0_U1RTS 0x00050001
    #define GPIO_PC4_U1RX 0x00021002
    Under CCS Project Properties -> Build -> ARM compiler -> Advanced Options -> Predefined Symbols have you added PART_TM4C123GH6PGE under Pre-define name?

  • It seems that it was something obvious .... previously there must have been a roundabout include chain which must have been including pin_map.h. Since going to TivaWare this include path must not exist any more.

    Though my searches through the header files also didn't return any results when searching ... there must have been something wrong there as well. This Monday hasn't been treating me well ;-)

  • And - should you plan to employ that UART's "handshake" capability - or otherwise use/exploit PF0 - beware that "PF0" must first be "unlocked" and configured away from its default NMI mode. 

    MCU manual - and multiple posts here - detail...

    And, " This Monday hasn't been treating me well" ;-)  ... believe that to extend to most every Monday...

  • Yes ... I was aware of the need to unlock the NMI pins, this was all fully functioning code just before trying to update to TivaWare. Thanks for looking out for me though :-)

    One more thing while I have some attention here ... any idea where the ROM_GPIOInt[Enable|Disable|Clear] functions went off to? Noticed these were no longer available in TivaWare?

  • Kyle Cottongim said:
    One more thing while I have some attention here ... any idea where the ROM_GPIOInt[Enable|Disable|Clear] functions went off to? Noticed these were no longer available in TivaWare?

    Have you seen ROM_GPIOIntClear and friend Definition?

  • Wow ... no I had not. Disappointing that this whole transition is not going as well as described it would.

  • Kyle Cottongim said:
    Disappointing that this whole transition is not going as well as described it would.

    Your not the only one.

    See SysCtlClockSet not working for some parameters in TivaWare 1.0 for another known problem. Note that the problem was actually that the SysCtlClockGet in TivaWare 1.0 returns the wrong value for some oscillator sources, rather than an error in SysCtlClockSet as implied by the thread title.