Getting Started with the TIVA™ C Series TM4C123G LaunchPad

From Texas Instruments Wiki
Jump to: navigation, search

Version 1.22 November 2013 Labs are based on CCS 5.5 and TivaWare 1.1

Preface

The intent of this workshop is to be a place where a person with a few C skills and some microcontroller experience can familiarize themself with the Tiva C Series parts, Code Composer Studio, TivaWare for C Series and the process of programming these microcontrollers. If you lack C programming skills, there are many courses on the Internet where you can gain them ... that knowledge can form the basis for a rewarding career.

If you are migrating from earlier Stellaris devices, please refer to this document for more information.

The labs in this workshop (with the exception of Chapter 15's PWM lab) will also work perfectly well on the Stellaris LM4F120 LaunchPad ... no changes are required.

Introduction

Stellaris LaunchPad Board
Kentec LCD TouchScreen Display

The Getting Started with the TIVA C Series TM4C123G LaunchPad Workshop is an in-depth, hands-on introduction into Tiva C Series basics including:

  1. Introduction to the ARM® Cortex™-M4F and Peripherals
  2. Introduction to Code Composer Studio
  3. TivaWare, Initialization and GPIO
  4. Interrupts and the Timers
  5. ADC12
  6. The Hibernation Module
  7. USB
  8. Memory and Security
  9. The Floating-Point Unit
  10. BoosterPacks and the Graphics Library
  11. Synchronous Serial Interface
  12. UART
  13. uDMA
  14. Sensor Hub
  15. PWM


Each of these sections includes an in-depth lab that will step you through the usage, programming and testing of the peripheral(s) or tool(s) covered.

The workshop is based on the low cost, expandable Tiva TM4C123G LaunchPad Evaluation Kit[1]. The LaunchPad board features an 80MHz TM4C123GH6PM microcontroller, on-board emulation and BoosterPack XL format expansion pins. The TM4C123GH6PM microcontroller has 256KB of flash memory, 32KB of RAM, 2KB of EEPROM, two 12-bit analog to digital converters, a USB 2.0 OTG/H/D port, a hibernation module, motion control, other serial connectivity and flexible GPIO.

TI's Tiva C Series devices[2] are supported by several Integrated Development Environments: Mentor Graphics® Mentor Embedded IDE[3], IAR Systems Embedded Workbench[4], ARM®’s Keil™ microVision IDE[5] and Texas Instrument®’s Eclipse-based Code Composer Studio™[6]. The workshop labs are based on Code Composer Studio, which is free and fully functional when connected to the LaunchPad board.

The workshop labs are constructed using TivaWare™[7]. TivaWare is an extensive suite of license and royalty-free software designed to simplify and speed development of Tiva C Series based microcontroller applications. TivaWare includes the Peripheral Driver Library and the Graphics Library. The Peripheral Driver library is a set of functions for controlling the peripherals found on the Tiva C Series family of ARM Cortex-M microcontrollers. All TM4C devices provide this code in on-board ROM. The TivaWare Graphics Library is a set of graphics primitives and widgets for creating graphical user interfaces on TIVA C Series microcontroller-based boards that have a graphical display.

Chapter 10 BoosterPacks and the Graphics Library

Expandability of the LaunchPad board is accomplished through its BoosterPack XL connectors. These connectors are backwards compatible with the original BoosterPack connectors. There are many BoosterPacks available through TI and third parties. In order to highlight the expansion capabilities of the TM4C123G LaunchPad board and the use of the graphics library, the workshop includes the Kentec Display 3.5” LCD TouchScreen BoosterPack[8]. You can purchase the BoosterPack directly from the manufacturer or through Newark Electronics. If you can't found Kentec Display you can also buy LCDBPV2.

LCDBPV2: 3,2" Touch LCD boosterpack SSD1289
Here is the Touch LCD Boosterpack for Tiva, Stellaris and Hercules Launchpad. It works with Texas Instruments Graphics Library and uses SSD1289 LCD Driver for 3,2" 320x240 Screen and analog signals for Touch (TI Graphics Library uses analog signals). The interface are hi speed 16bit color parallel or 4wire serial. This screen in parallel mode is totally compatible with kentec display.

You can found example codes and buy it on: lcdbpv2.danirebollo.es
Info: Texas Instruments Graphics Library, SSD1289 LCD datasheet, SSD1289 LCD datasheet.

Video

Chapter 11 Synchronous Serial Interface

Chapter 11 of the workshop covers the Synchronous Serial Interface. In order to run the lab you will need to purchase and modify an Olimex 8x8 LED BoosterPack . These boards are available through Mouser Electronics . Complete instructions on the needed modifications are in the chapter 11 lab. If you are attending a live workshop, boards will be available for your use.

Video

Chapter 14 Sensor Hub

Chapter 14 of the workshop covers the Tiva Sensor Hub. To complete labs 14a and 14b you will need a BOOSTXL-SENSHUB Sensor Hub Boosterpack. If you are attending a live workshop, the instructor will have several for attendees to use. Otherwise you will need to purchase one: [9]

Video

Chapter 15 PWM

Chapter 15 of the workshop covers the PWM module. To complete lab15 you will need a hobby-type servo. If you are attending a live workshop, the instructor will have several for attendees to use. Otherwise you will need to purchase one: [10]

Video

Attend a Live Workshop

You can attend a live version of this workshop taught by an experienced Texas Instruments instructor. Sign up here.

Hardware Requirements

To run the labs, you will need the following:

  • A 32 or 64-bit Windows XP, Windows 7 or Windows 8 laptop with 2G or more of free hard drive space. 1G of RAM should be considered a minimum … more is better.
  • A laptop with Wi-Fi is highly desirable
  • If you are working the labs from home, a second monitor will make the process much easier. If you are attending a live workshop, you are welcome to bring one.
  • If you are attending a live workshop, please bring a set of earphones or ear-buds.
  • If you are attending a live workshop, you will receive an evaluation board; otherwise you need to purchase one.[11]
  • If you are attending a live workshop, a digital multi-meter will be provided; otherwise you need to purchase one like the inexpensive version here [12]
  • If you are attending a live workshop, you will receive a second A-male to micro-B-male USB cable. Otherwise, you will need to provide your own to complete Lab 7.
  • If you are attending a live workshop, you will receive a Kentec 3.5” TFT LCD Touch Screen BoosterPack (Part# EB-LM4F120-L35). Otherwise, you will need to provide your own to complete Lab 10. You can purchase the BoosterPack directly from the manufacturer or through Newark Electronics.
  • If you are attending a live workshop, Olimex 8x8 LED BoosterPacks will be available for use with both modifications. If you want to run this lab from home you will need to obtain and modify the board as detailed in the chapter 11 lab.
  • If you are attending a live workshop, Sensor Hub BoosterPacks will be available for use. If you want to run this lab from home you will need to obtain one. [13]
  • If you are attending a live workshop, modified servos will be available for use. If you want to run this lab from home you will need to obtain one like this: [14]

Software Requirements

To run the labs, you will need the following:

  • Code Composer Studio 5.4 or later[15]
  • TivaWare for C Series [16]
  • The LM Flash Programmer[17]
  • The lab installation file found in the Workshop Materials section
  • The workshop workbook file found in the Workshop Materials section.
  • A terminal program like HyperTerminal (WinXP) or PuTTY[18]
  • The Windows side USB examples[19]
  • GIMP image manipulation tool[20]

Complete instructions for downloading and installing this software is in Chapter 1 of the workbook found in the Workshop materials section

Workshop Material

Videos

Chapter One - Introduction to ARM Cortex-M4F and Peripherals

Lab One

Chapter Two - Code Composer Studio

Chapter Three - Introduction to TivaWare, Initialization and the GPIO

Chapter Four - Interrupts and the Timers

Chapter Five - ADC12

Chapter Six - Hibernation Module

Chapter Seven - USB

Chapter Eight - Memory

Chapter Nine - Floating-Point

Chapter Ten - Boosterpacks and grLib

Chapter Eleven - Synchronous Serial Interface

Chapter Twelve - UART

Chapter Thirteen - uDMA

Chapter Fourteen - Sensor Hub

Chapter Fifteen - PWM