Professional Documents
Culture Documents
Reference Material
Page 1
1. General Information
Systick
NVIC
Cortex M4
System Bus Interface
GPIO Port A
PA7
PA6
PA5/SSI0Tx
PA4/SSI0Rx
PA3/SSI0Fss
PA2/SSI0Clk
PA1/U0Tx
PA0/U0Rx
PC7
PC6
PC5
PC4
PC3/TDO/SWO
PC2/TDI
PC1/TMS/SWDIO
PC0/TCK/SWCLK
GPIO Port B
Eight
UARTs
Four
I2Cs
Four
SSIs
CAN 2.0
GPIO Port C
GPIO Port D
USB 2.0
Twelve
Timers
JTAG
Six
64-bit wide
GPIO Port E
PE5
PE4
PE3
PE2
PE1
PE0
PB7
PB6
PB5
PB4
PB3/I2C0SDA
PB2/I2C0SCL
PB1
PB0
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0
GPIO Port F
Two Analog
Comparators
ADC
2 channels
12 inputs
12 bits
PF4
PF3
PF2
PF1
PF0
Two PWM
Modules
Figure 1.1. I/O port pins for the LM4F120H5QR / TM4C123GH6PM microcontrollers.
R1 0
Serial
+5
USB
R29
0
R25
0
R9
R10 0
TM4C123 PF0
PF4
R13 0
PA1
PA0
Green
PB1
PD5
R12
PD4
PF3
PB0
0
PD0
R11
PF2
PB6
0
PD1
R2
PF1
PB7
0
5V
Blue
330
330
Red
330
SW1
SW2
DTC114EET1G
Figure 1.2. Switch and LED interfaces on the Tiva LaunchPad Evaluation Board. The zero ohm resistors can be removed so
the corresponding pin can be used for its regular purpose.
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
General
purpose
registers
Stack pointer
Link register
Program counter
Reference Material
Page 2
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13 (MSP)
R14 (LR)
R15 (PC)
256k Flash
ROM
0x0003.FFFF
0x2000.0000
64k RAM
0x2000.FFFF
0x4000.0000
I/O ports
0x41FF.FFFF
Internal I/O
PPB
0xE000.0000
0xE004.0FFF
Cut
along
dotted
lines
1
Gnd
PB2
PE0
PF0
Reset
PB7
PB6
PA4
PA3
PA2
Cut
along
dotted
lines
Bottom of
LaunchPad
J2 J4
PF2
PF3
PB3
PC4
PC5
PC6
PC7
PD6
PD7
PF4
J3 J1
5V
Gnd
PD0
PD1
PD2
PD3
PE1
PE2
PE3
PF1
1
3.3V
PB5
PB0
PB1
PE4
PE5
PB4
PA5
PA6
PA7
3.3V
PB5
PB0
PB1
PE4
PE5
PB4
PA5
PA6
PA7
Top of
LaunchPad
J1 J3
5V
Gnd
PD0
PD1
PD2
PD3
PE1
PE2
PE3
PF1
J4 J2
PF2
PF3
PB3
PC4
PC5
PC6
PC7
PD6
PD7
PF4
Gnd
PB2
PE0
PF0
Reset
PB7
PB6
PA4
PA3
PA2
10
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Reference Material
2. Parallel Ports
Address
$400F.E108
$4000.43FC
$4000.4400
$4000.4420
$4000.4510
$4000.451C
$4000.4524
$4000.4528
$4000.53FC
$4000.5400
$4000.5420
$4000.5510
$4000.551C
$4000.5524
$4000.5528
$4000.63FC
$4000.6400
$4000.6420
$4000.6510
$4000.651C
$4000.6524
$4000.6528
$4000.73FC
$4000.7400
$4000.7420
$4000.7510
$4000.751C
$4000.7524
$4000.7528
$4002.43FC
$4002.4400
$4002.4420
$4002.4510
$4002.451C
$4002.4524
$4002.4528
$4002.53FC
$4002.5400
$4002.5420
$4002.5510
$4002.551C
$4002.5524
$4002.5528
$4000.452C
$4000.552C
$4000.652C
$4000.752C
$4002.452C
$4002.552C
$4000.6520
$4000.7520
$4002.5520
5
GPIOF
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
4
GPIOE
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
3
GPIOD
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
2
GPIOC
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
1
GPIOB
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
0
GPIOA
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
JTAG
Name
SYSCTL_RCGC2_R
GPIO_PORTA_DATA_R
GPIO_PORTA_DIR_R
GPIO_PORTA_AFSEL_R
GPIO_PORTA_PUR_R
GPIO_PORTA_DEN_R
GPIO_PORTA_CR_R
GPIO_PORTA_AMSEL_R
GPIO_PORTB_DATA_R
GPIO_PORTB_DIR_R
GPIO_PORTB_AFSEL_R
GPIO_PORTB_PUR_R
GPIO_PORTB_DEN_R
GPIO_PORTB_CR_R
GPIO_PORTB_AMSEL_R
GPIO_PORTC_DATA_R
GPIO_PORTC_DIR_R
GPIO_PORTC_AFSEL_R
GPIO_PORTC_PUR_R
GPIO_PORTC_DEN_R
GPIO_PORTC_CR_R
GPIO_PORTC_AMSEL_R
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSE
L
DATA
DIR
SEL
PUE
DEN
CR
0
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
0
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
1
AMSEL
DATA
DIR
SEL
PUE
DEN
CR
0
GPIO_PORTD_DATA_R
GPIO_PORTD_DIR_R
GPIO_PORTD_AFSEL_R
GPIO_PORTD_PUR_R
GPIO_PORTD_DEN_R
GPIO_PORTD_CR_R
GPIO_PORTD_AMSEL_R
GPIO_PORTE_DATA_R
GPIO_PORTE_DIR_R
GPIO_PORTE_AFSEL_R
GPIO_PORTE_PUR_R
GPIO_PORTE_DEN_R
GPIO_PORTE_CR_R
GPIO_PORTE_AMSEL_R
GPIO_PORTF_DATA_R
GPIO_PORTF_DIR_R
GPIO_PORTF_AFSEL_R
GPIO_PORTF_PUR_R
GPIO_PORTF_DEN_R
GPIO_PORTF_CR_R
GPIO_PORTF_AMSEL_R
31-28
PMC7
PMC7
PMC7
PMC7
27-24
PMC6
PMC6
PMC6
PMC6
23-20
PMC5
PMC5
PMC5
PMC5
PMC5
19-16
15-12
11-8
7-4
3-0
PMC4
PMC3
PMC2
PMC1
PMC0
PMC4
PMC3
PMC2
PMC1
PMC0
PMC4
0x1
0x1
0x1
0x1
PMC4
PMC3
PMC2
PMC1
PMC0
PMC4
PMC3
PMC2
PMC1
PMC0
PMC4
PMC3
PMC2
PMC1
PMC0
LOCK (write 0x4C4F434B to unlock, other locks) (reads 1 if locked, 0 if unlocked)
LOCK (write 0x4C4F434B to unlock, other locks) (reads 1 if locked, 0 if unlocked)
LOCK (write 0x4C4F434B to unlock, other locks) (reads 1 if locked, 0 if unlocked)
GPIO_PORTA_PCTL_R
GPIO_PORTB_PCTL_R
GPIO_PORTC_PCTL_R
GPIO_PORTD_PCTL_R
GPIO_PORTE_PCTL_R
GPIO_PORTF_PCTL_R
GPIO_PORTC_LOCK_R
GPIO_PORTD_LOCK_R
GPIO_PORTF_LOCK_R
Table 2.1. Some TM4C123/LM4F120 parallel ports. Each register is 32 bits wide. For PMCx bits, see Table 2.2.
JTAG means do not use these pins and do not change any of these bits.
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Page 3
Reference Material
IO
Ain
0
1
2
3
4
5
6
PA0
Port U0Rx
PA1
Port U0Tx
PA2
Port
SSI0Clk
PA3
Port
SSI0Fss
PA4
Port
SSI0Rx
PA5
Port
SSI0Tx
PA6
Port
I2C1SCL
M1PWM2
PA7
Port
I2C1SDA
M1PWM3
PB0
Port U1Rx
PB1
Port U1Tx
PB2
Port
I2C0SCL
PB3
Port
I2C0SDA
PB4
Ain10
Port
SSI2Clk
M0PWM2
PB5
Ain11
Port
SSI2Fss
M0PWM3
PB6
Port
SSI2Rx
M0PWM0
PB7
Port
SSI2Tx
M0PWM1
PC4
C1Port U4Rx
U1Rx
M0PWM6
IDX1
PC5
C1+
Port U4Tx
U1Tx
M0PWM7
PhA1
PC6
C0+
Port U3Rx
PhB1
PC7
C0Port U3Tx
PD0
Ain7
Port SSI3Clk SSI1Clk I2C3SCL M0PWM6 M1PWM0
PD1
Ain6
Port SSI3Fss SSI1Fss I2C3SDA M0PWM7 M1PWM1
PD2
Ain5
Port SSI3Rx SSI1Rx
M0Fault0
PD3
Ain4
Port SSI3Tx SSI1Tx
IDX0
PD4 USB0DM Port U6Rx
PD5 USB0DP Port U6Tx
PD6
Port U2Rx
M0Fault0
PhA0
PD7
Port U2Tx
PhB0
PE0
Ain3
Port U7Rx
PE1
Ain2
Port U7Tx
PE2
Ain1
Port
PE3
Ain0
Port
PE4
Ain9
Port U5Rx
I2C2SCL M0PWM4 M1PWM2
PE5
Ain8
Port U5Tx
I2C2SDA M0PWM5 M1PWM3
PF0
Port U1RTS SSI1Rx CAN0Rx
M1PWM4 PhA0
PF1
Port U1CTS SSI1Tx
M1PWM5 PhB0
PF2
Port
SSI1Clk
M0Fault0 M1PWM6
PF3
Port
SSI1Fss CAN0Tx
M1PWM7
PF4
Port
M1Fault0 IDX0
8
CAN1Rx
CAN1Tx
Page 4
9
14
T2CCP0
T2CCP1
T3CCP0
T3CCP1
T1CCP0
CAN0Rx
T1CCP1
CAN0Tx
T0CCP0
T0CCP1
WT0CCP0 U1RTS
WT0CCP1 U1CTS
WT1CCP0 USB0epen
WT1CCP1 USB0pflt
WT2CCP0
WT2CCP1
WT3CCP0 USB0epen
WT3CCP1 USB0pflt
WT4CCP0
WT4CCP1
WT5CCP0
WT5CCP1
NMI
T0CCP0
T0CCP1
T1CCP0
T1CCP1
T2CCP0
CAN0Rx
CAN0Tx
NMI
C0o
C1o
TRD1
TRD0
TRCLK
USB0epen
Table 2.2. PMCx bits in the GPIOPCTL register on the LM4F/TM4C specify alternate functions. PD4 and PD5 are
hardwired to the USB device. PA0 and PA1 are hardwired to the serial port. PWM not on LM4F120.
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Reference Material
Page 5
3. SysTick Timer
Address
$E000E010
$E000E014
$E000E018
31-24
0
0
0
Address
$E000ED20
31-29
SYSTICK
23-17
0
16
COUNT
15-3
2
1
0
0
CLK_SRC INTEN ENABLE
24-bit RELOAD value
24-bit CURRENT value of SysTick counter
28-24
0
23-21
PENDSV
20-8
0
7-5
DEBUG
4-0
0
Name
NVIC_ST_CTRL_R
NVIC_ST_RELOAD_R
NVIC_ST_CURRENT_R
Name
NVIC_SYS_PRI3_R
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Reference Material
Page 6
11
OE
10
BE
9
PE
313
$4000.C004
318
$4000.C018
7
TXFE
6
RXFF
5
TXFF
3116
8
FE
70
DATA
3
OE
2
BE
4
RXFE
3
BUSY
316
3110
$4000.C030
31-11
UART0_FR_R
UART0_FBRD_R
7
SPS
65
WPEN
4
FEN
3
STP2
2
EPS
1
PEN
0
BRK
9
RXE
8
TXE
7
LBE
63
2
SIRLP
1
SIREN
0
UARTEN
316
10
OEIM
OERIS
OEMIS
OEIC
5-3
RXIFLSEL
9
BEIM
BERIS
BEMIS
BEIC
8
PEIM
PERIS
PEMIS
PEIC
7
FEIM
FERIS
FEMIS
FEIC
UART0_RSR_R
20
50
DIVFRAC
$4000.C034
$4000.C038
$4000.C03C
$4000.C040
$4000.C044
0
FE
UART0_IBRD_R
$4000.C028
318
1
PE
150
DIVINT
$4000.C024
$4000.C02C
Name
UART0_DR_R
6
RTIM
RTRIS
RTMIS
RTIC
2-0
TXIFLSEL
5
TXIM
TXRIS
TXMIS
TXIC
4
RXIM
RXRIS
RXMIS
RXIC
UART0_LCRH_R
UART0_CTL_R
UART0_IFLS_R
UART0_IM_R
UART0_RIS_R
UART0_MIS_R
UART0_IC_R
Table 4.1. UART0 registers. Each register is 32 bits wide. Shaded bits are zero.
RXIFLSEL
0x0
0x1
0x2
0x3
0x4
TXIFLSEL
0x0
0x1
0x2
0x3
0x4
RX FIFO
full
full
full
full
full
TX FIFO
empty
empty
empty
empty
empty
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Reference Material
Page 7
$4003.8020
31-17
16
ADC
15-10
9
8
MAXADCSPD
31-14
13-12
SS3
11-10
9-8
SS2
31-16
$4003.8014
31-4
$4003.8000
$4003.80A0
$4003.80A4
$4003.8028
$4003.8004
$4003.8008
$4003.800C
7-6
15-12
EM3
3
ASEN3
TS0
SS3
INR3
MASK3
IN3
31-12
$4003.80A8
7-0
5-4
SS1
3-2
11-8
EM2
7-4
EM1
2
1
ASEN2
ASEN1
MUX0
IE0
END0
SS2
SS1
INR2
INR1
MASK2
MASK1
IN2
IN1
Name
SYSCTL_RCGC0_R
1-0
SS0
ADC0_SSPRI_R
3-0
EM0
ADC0_EMUX_R
0
ASEN0
D0
SS0
INR0
MASK0
IN0
11-0
12-bit DATA
ADC0_ACTSS_R
ADC0_SSMUX3_R
ADC0_SSCTL3_R
ADC0_PSSI_R
ADC0_RIS_R
ADC0_IM_R
ADC0_ISC_R
ADC0_SSFIFO3_R
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Reference Material
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Page 8
Reference Material
Page 9
This material is being developed for an online class that is running January 2014 to May 14, 2014 on
the EdX platform. https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172
Embedded Systems - Shape the World by Jonathan Valvano and Ramesh Yerraballi is licensed under a
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Based on a work at http://users.ece.utexas.edu/~valvano/arm/outline1.htm.
Valvano, Yerraballi
https://www.edx.org/course/utaustinx/utaustinx-ut-6-01x-embedded-systems-1172