Experiment Navigator ​
Welcome to the Experiment Navigator! This document serves as a guide to the various experiments and resources available for ARM assembly language programming and embedded systems development using the TM4C123G LaunchPad.
ARM Cortex-M4 Assembly Language Basics ​
| Experiment | Description |
|---|---|
| Experiment 1: Assembly Basics and Program Structure | Learn ARM Cortex-M4 architecture, registers, memory mapping, instruction formats, and assembly programming fundamentals. |
| Experiment 2: Data Processing and Memory Operations | Master data-processing instructions (arithmetic, logical, barrel shifter), load/store operations, memory addressing modes, and assembler directives for data declaration. |
| Experiment 3: Control Flow and Subroutines | Implement branching, conditional execution, loop structures (for/while), procedure calls with AAPCS, stack operations (PUSH/POP), and nested procedures. |
EK-TM4C123GXL Microcontroller ​
Make sure to have the TM4C123G LaunchPad connected to your computer and the Keil uVision5 IDE is configured and set up for development. To set up the IDE, follow the instructions in the Setup Guide.
| Experiment | Description |
|---|---|
| Experiment 4: Microcontroller Architecture and GPIO Output | Explore TM4C123 architecture, core peripherals (NVIC, SysTick), memory map, and GPIO configuration for controlling on-board LEDs. |
| Experiment 5: GPIO Inputs and Interrupt Handling | Configure GPIO pins as inputs, implement edge-triggered interrupts, handle button debouncing, and manage interrupt priorities using NVIC. |
| Experiment 6: Hardware Timers and Timing Control | Configure SysTick for periodic interrupts and delays, program GPTM modules in one-shot and periodic modes, and implement accurate timing for embedded applications. |
| Experiment 7: Character LCD Display Interface | Interface with character LCD modules using GPIO, implement initialization sequences, and display text and custom characters. |
| Experiment 8: Analog-to-Digital Converter (ADC) | Configure 12-bit ADC channels, perform single and continuous sampling, read analog sensors, and implement software averaging. |
| Experiment 9: Universal Asynchronous Receiver-Transmitter (UART) | Configure UART for serial communication, implement transmit and receive functions, handle interrupts, and interface with PC terminal applications. |
Additional Resources ​
- Keil uVision5 IDE - Setup and development environment for ARM programming.
- ARM Documentation - Comprehensive documentation for ARM architecture.
- ARM Instruction Set Summary - Detailed instruction set reference.
- TM4C123GH6PM Microcontroller Datasheet - Technical specifications and features of the TM4C123G microcontroller.