Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

Creating IoT Solutions with the TM4C1294XL Connected LaunchPad Workshop

From Texas Instruments Wiki
Jump to: navigation, search

Version 1.04 July 2014 Labs are based on CCS 6.0 and TivaWare 2.1.0.12573

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 TM4C129x 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.

Overview

The Creating IoT Solutions with the Tiva C Series Connected LaunchPad Workshop is an in-depth, hands-on introduction into the basics of creating IoT solutions using the EK-TM4C1294XL Connected LaunchPad including:

Connected LaunchPad Board
  1. Intro to TM4C Devices, LaunchPad and Cloud Services
  2. Intro to Code Composer Studio
  3. TivaWare, Initialization and GPIO
  4. Ethernet Port
  5. Interrupts and the Timers
  6. ADC and the Educational Boosterpack
  7. PWM and QEI
  8. I2C, SensorLib and GUI Composer
  9. SPI and the QSSI
  10. UART
  11. USB
  12. Memory, Security and the MPU
  13. Floating Point Unit
  14. DMA
  15. Low Power Modes
  16. Graphics Library

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

Details

The workshop is based on the low cost, expandable EK-TM4C1294XL Connected LaunchPad Evaluation Kit[1]. The LaunchPad board features a 120MHz TM4C1294NCPDT microcontroller, on-board emulation and 2 sets of 40-pin BoosterPack XL format expansion pins. The TM4C1294NCPDT microcontroller has 1MB of flash memory, 256kB of RAM, 6KB of EEPROM, two 12-bit 2MSPS analog to digital converters, a USB 2.0 OTG/H/D port, an Ethernet port, a hibernation module, motion control, other serial connectivity and flexible GPIO.

TI's Tiva C Series (TM4C129x) devices[2] are supported by several Integrated Development Environments:

  • IAR Systems Embedded Workbench[3],
  • ARM®’s Keil™ microVision IDE[4]
  • Texas Instrument®’s Eclipse-based Code Composer Studio™[5].

The workshop labs are based on Code Composer Studio, which is free and fully functional when connected to the Connected LaunchPad board.

The workshop labs are constructed using TivaWare™[6]. TivaWare is an extensive suite of license and royalty-free software designed to simplify and speed development of Tiva C Series (TM4C129x) based microcontroller applications. TivaWare includes:

  • the Peripheral Driver Library which is a set of functions for controlling the peripherals found on the Tiva C Series (TM4C129x) family of ARM Cortex-M microcontrollers. This library comes preprogrammed in the ROM memory of all TM4C devices.
  • the TivaWare Graphics Library which is a set of graphics primitives and widgets for creating graphical user interfaces on TIVA C Series (TM4C129x) microcontroller-based boards that have a graphical display.
  • The Sensor Library which includes an I2C master driver, APIs for easily communicating over the I2C bus and examples for using the sensors on the SensorHub BoosterPack[7].

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[8].

BoosterPacks used in the workshop

Educational BoosterPack MkII
  • The Educational BoosterPack MK II[9] for the ADC, PWM and I2C labs






Olimex 8x8 LED array
  • A modified Olimex 8x8 LED array BoosterPack[10] for the SPI lab







KenTec LCD Display
  • The KenTec touchscreen LCD Boosterpack[11] for the graphics library lab






Attend a Live Workshop

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

Because of the large amount of material in this workshop, chapters 2 through 16 are presented in video format. This allows each attendee to select the chapters/labs they are interested in and save the rest for later. The instructor will present the first chapter “live” and be present to answer questions and help attendees get the labs running throughout the day. Experience with the C programming language, microcontroller programming and Integrated Development Environments, like Eclipse is very important.

You must bring your own 32 or 64-bit Windows XP , 7 or 8 laptop with a minimum of 2G free hard drive space and a minimum of 1G of RAM (more is better) to run labs. Before arriving, you must have the software below already installed. Installation steps are covered in detail in chapter one of the workshop workbook pdf.

You must bring a set of personal headphones or ear buds.

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, you will receive an evaluation board to take home; otherwise you need to purchase one.[12]
  • If you are attending a live workshop, you will receive a Educational BoosterPack MK II[13] to use, otherwise you will need to provide your own.
  • 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
  • If you are attending a live workshop, you will receive a second A-male to micro-B-male USB cable to use. Otherwise, you will need to provide your own to complete the USB lab.
  • If you are attending a live workshop, you will receive a Kentec 3.5” TFT LCD Touch Screen (Part# EB-LM4F120-L35) BoosterPack to use. Otherwise, you will need to provide your own to complete the graphics library lab. You can purchase the BoosterPack directly from the manufacturer or through Newark Electronics.
  • If you are attending a live workshop, modified Olimex 8x8 LED BoosterPacks will be available for use. If you want to run this lab from home you will need to obtain and modify the board as detailed in the SPI lab.

Software Requirements

To run the labs, you will need the following:

  • Code Composer Studio 6.0 or later[14]
  • TivaWare for C Series version 2.1.0.12573 or later [15]
  • The LM Flash Programmer[16]
  • The lab installation file found below in the Workshop Material section
  • The workshop workbook file found below in the Workshop Material section.
  • A terminal program like HyperTerminal (WinXP), PuTTY or Tera Term
  • The Windows side USB examples[17]
  • GIMP image manipulation tool[18]

Complete instructions for downloading and installing this software can be found in Chapter 1 of the workbook

Providing a Wired Ethernet Connection

Providing wired Ethernet connections for everyone in a live workshop is logistically difficult, so lab01's out-of-box cloud example is run as a demo. At home or the office you can easily connect to a wired Ethernet connection.

Creating a portable wired Ethernet connection can easily be done with software like Connectify HotSpot [19]

Workshop Material

  • The workbook pdf file
  • The labs installation file (if this file downloads without the exe filename extension, please rename the file to add it)
  • The zipped PowerPoint presentation
  • The Word doc files used to create the workbook

Videos

1. Intro to TM4C Devices, LaunchPad and Cloud Services

2. Intro to Code Composer Studio

3. Initialization, GPIO and TivaWare

4. Ethernet Port

5. Interrupts and the Timers

6. ADC and the Educational Boosterpack

7. PWM and QEI

8. I2C, SensorLib and GUI Composer

9. SPI and the QSSI

10. UART

11. USB

12. Memory, Security and the MPU

13. Floating Point Unit

14. DMA

15. Low Power Modes

16. Graphics Library