Creating IoT Solutions with TM4C Microcontrollers Workshop Series 15 of 16: Low Power Modes
with Scott Bland
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 documnt for more information.
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:
- Intro to TM4C Devices, LaunchPad and Cloud Services
- Intro to Code Composer Studio
- TivaWare, Initialization and GPIO
- Ethernet Port
- Interrupts and the Timers
- ADC and the Educational Boosterpack
- PWM and QEI
- I2C, SensorLib and GUI Composer
- SPI and the QSSI
- Memory, Security and the MPU
- Floating Point Unit
- Low Power Modes
- 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.
The workshop is based on the low cost, expandable EK-TM4C1294XL Connected LaunchPad Evaluation Kit. 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 are supported by several Integrated Development Environments:
- IAR Systems Embedded Workbench.
- ARM®’s Keil™ microVision IDE.
- Texas Instrument®’s Eclipse-based Code Composer Studio™.
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™. 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.
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.
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 and a second monitor will make the process much easier
- Purchase the low cost, expandable EK-TM4C1294XL Connected LaunchPad Evaluation Kit.
- An Educational BoosterPack MK II (optional, used in selected labs)
- A digital multi-meter like this inexpensive version
- A second A-male to micro-B-male USB cable for the USB lab
- A Kentec 3.5” TFT LCD Touch Screen (Part# EB-LM4F120-L35) for the graphics library lab. You can purchase the BoosterPack directly from the manufacturer or through Newark Electronics
- A modified Olimex 8x8 LED BoosterPack for the SPI lab will be available for use. You will need to modify the board as detailed in the SPI lab
To run the labs, you will need the following:
- Code Composer Studio 6.0 or later
- TivaWare for C Series version 220.127.116.1173 or later
- The LM Flash Programmer
- 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 TeraTerm
- The Windows side USB examples
- GIMP image manipulation tool
Complete instructions for downloading and installing this software can be found in Chapter 1 of the workbook