Intro to MicroControllers – Stellaris LaunchPad
UPDATE: The Stellaris / Tiva launchpads have been depricated and I do not reccomend them for new development / learning. Instead take a look at the mbed platform at developer.mbed.org.
This page is where I will post all material related to the Intro to MicroControllers class based on the Stellaris Launchpad.
NOTE: the Tiva launchpad and the Stellaris Launchpad are the same board, same chip, the only difference is on Tiva USB is now OTG (added host mode) and the Tiva Launchpad has a PWM’s. Otherwise the software is the same. StellarisWare will run on Tiva devices. The inverse is not necessarily true. Stellarisware has been frozen at version 9453 and no further development is expected. TivaWare will continue to be developed.
NOTE: for now all materials will assume Windows xp / 7 as the operating system running Keil. Code Composer Studio is available for Linux. In the future I intend to add instructions for Mac and Linux, but due to the complexity of the toolchains I am leaving that for a later date. (most likely after the first run of the class)
Pre-Class Download & Install: (see this post for more details)
- go here and download the .zip (choose KEIL package).
- Unzip and install the following (in order)-Keil (at the end do NOT install examples, we will use StellarisWare examples) (see this post)-StellarisWare / TivaWare (see this post)-LMFlash Programmer
- plugin board and install drivers from ICDI folder (see this post on how)
- Download Energia (it runs as an executable, no need to install) (see this post)
For Reference:
PinMux Utility : Dead simple GUI for setting the pin multiplexing (optional)
Launchpad Manual : Board overview with pinout and basic info
LM4F120H5QR Datasheet : Chip Datasheet, full of complex technical details
Stellaris API : Useful function names and variables (required skim)
Extra Links:
Professor Valvano’s Website : Professor at UT Austin teaching a wonderful class on MicroControllers
How to Port one Keil Project into Another: Professor Valvano
Keil Starter Project: Professor Valvano, useful for the startup.s file
Online Intro to Stellaris Launchpad by Texas Instruments : series of videos that are great for independent study.
In Depth TI Class based on Stellaris Launchpad : in depth online class that goes into detail on all peripherals and sensors.
Class 1: Getting Started – Initial Setup & Basic Theory
- What is a MicroController?
- GPIO & Memory Mapped IO
- IDE troubleshooting
- Driver Install
- Compile and run programs (Blinky / Uart_demo)
- Debugging via JTAG (breakpoints, step through )
- Energia (lets you run Arduino code)
Class 2: What is a MicroController (slides)
- Direct Register Access vs Software Driver Model
- System Level vs Device Level
- Initialization & Use (System, Timer, UART, SPI, I2C, GPIO, ADC)
- Interrupts
Class 3: Advanced Protocols (choose 1)
- Zigbee
- USB (slides)
- Bluetooth
Class 4/5: PCB Design (link to PreClass and Class) (slides)
- Create Symbols, Packages, Devices & Libraries
- Schematic and Board layout
- Handy Eagle Shortcuts
- Design Rule Check
- Signal Routing
- Multi-Layer board design
- Walk-through of getting boards fabricated