Texas Instruments EK-LM4F232 User Manual Download Page 9

Example Applications

2.6

USB Boot Loader (boot_usb)

The boot loader is a small piece of code that can be programmed at the beginning of flash to act as
an application loader as well as an update mechanism for an application running on a Tiva C Series
microcontroller, utilizing either UART0, I2C0, SSI0, or USB. The capabilities of the boot loader are
configured via the bl_config.h include file. For this example, the boot loader uses the USB Device
Firmware Upgrade (DFU) class to download an application.

Applications intended for use with this version of the boot loader should be linked to run from
address 0x2800 in flash (rather than the default run address of 0). This address is chosen to
ensure that boot loader images built with all supported compilers may be used without modifying
the application start address. Depending upon the compiler and optimization level you are using,
however, you may find that you can reclaim some space by lowering this address and rebuilding
both the application and boot loader. To do this, modify the makefile or project you use to build
the application to show the new run address and also change the APP_START_ADDRESS value
defined in bl_config.h before rebuilding the boot loader.

The USB boot loader may be demonstrated using the boot_demo1 and boot_demo2 example ap-
plications in addition to the boot_usb boot loader binary itself. Note that these are the only two
example applications currently configured to run alongside the USB boot loader but making any of
the other applications boot loader compatible is simply a matter of relinking them with the new start
address and adding a mechanism to transfer control to the boot loader when required.

The Windows device driver required to communicate with the USB boot loader can be found on
the software and documentation CD from the development kit package. It can also be found in the
Windows driver package which can be downloaded via a link from

http://www.ti.com/tiva.

A Windows command-line application, dfuprog, is also provided which illustrates how to per-
form uploads and downloads via the USB DFU protocol. The source for this application can be
found in the /ti/TivaWare_C_Series-x.x/tools directory and the prebuilt executable is available in
the package “TivaWare for C Series PC Companion Utilities” available for download via a link from

http://www.ti.com/tivaware

.

2.7

Hello World (hello)

A very simple “hello world” example. It simply displays “Hello World!” on the display and is a starting
point for more complicated applications. This example uses calls to the TivaWare Graphics Library
graphics primitives functions to update the display. For a similar example using widgets, please see
“hello_widget”.

2.8

Hibernate Example (hibernate)

An example to demonstrate the use of the Hibernation module. The user can put the microcontroller
in hibernation by pressing the select button. The microcontroller will then wake on its own after 5
seconds, or immediately if the user presses the select button again. The program keeps a count
of the number of times it has entered hibernation. The value of the counter is stored in the battery
backed memory of the Hibernation module so that it can be retrieved when the microcontroller
wakes.

February 22, 2017

9

Summary of Contents for EK-LM4F232

Page 1: ...Copyright 2011 2017 Texas Instruments Incorporated SW EK LM4F232 UG 2 1 4 178 USER S GUIDE EK LM4F232 Firmware Development Package...

Page 2: ...y be claimed as the property of others Please be aware that an important notice concerning availability standard warranty and use in critical applications of Texas Instruments semicon ductor products...

Page 3: ...uart_echo 12 2 17 uDMA udma_demo 12 2 18 USB Generic Bulk Device usb_dev_bulk 12 2 19 USB HID Keyboard Device usb_dev_keyboard 13 2 20 USB MSC Device usb_dev_msc 13 2 21 USB Serial Device usb_dev_seri...

Page 4: ...Table of Contents 4 February 22 2017...

Page 5: ...llaris LM4F232H5QD microcontroller Four 20V analog inputs 3 axis analog accelerometer On board temperature sensor Bright 96 x 64 16 bit color OLED display 5 user buttons User LED Shunt for microcontro...

Page 6: ...Introduction 6 February 22 2017...

Page 7: ...abilities of the Cortex M3 microprocessor All of SRAM and all of the peripherals reside within bit band regions meaning that bit banding operations can be applied to any of them In this example a vari...

Page 8: ...ong as you also rebuild the boot loader itself after modifying its bl_config h file to set APP_START_ADDRESS to the same value The boot_demo1 application can be used along with this application to eas...

Page 9: ...ations boot loader compatible is simply a matter of relinking them with the new start address and adding a mechanism to transfer control to the boot loader when required The Windows device driver requ...

Page 10: ...MPU to protect a region of memory from access and to generate a memory management fault when there is an access violation 2 11 Data Logger qs logger This example application is a data logger It can b...

Page 11: ...ta can be saved When the EK LM4F232 board running qs logger is connected to a host PC via the USB OTG connection for the first time Windows will prompt for a device driver for the board This can be fo...

Page 12: ...ART connected to the USB debug virtual serial port on the evaluation board will be configured in 115 200 baud 8 n 1 mode All characters received on the UART are transmitted back to the UART 2 17 uDMA...

Page 13: ...e current Caps Lock state and is updated in response to any other keyboard attached to the same USB host system The device implemented by this application also supports USB remote wakeup allowing it t...

Page 14: ...keys on the keyboard will cause them to be printed on the screen and to be sent out the UART at 115200 baud with no parity 8 bits and 1 stop bit Any keyboard that supports the USB HID BIOS protocol s...

Page 15: ...er application already in flash at APP_START_ADDRESS then it will just run the user application It will attempt to load a new application from a USB memory stick under the following conditions no user...

Page 16: ...Example Applications 16 February 22 2017...

Page 17: ...s h containing the API declarations for use by applications 3 2 API Functions Functions void ButtonsInit void uint8_t ButtonsPoll uint8_t pui8Delta uint8_t pui8RawState 3 2 1 Function Documentation 3...

Page 18: ...is not needed that often If button debouncing is not required the the caller can pass a pointer for the pui8RawState parameter in order to get the raw state of the buttons The value returned in pui8R...

Page 19: ...also provides an API for initializing the display This driver is located in examples boards ek lm4f232 drivers with cfal96x64x16 c containing the source code and cfal96x64x16 h containing the API dec...

Page 20: ...for the Crystalfontz CFAL9664 F B1 OLED panel with SSD 1332 controller 4 3 Programming Example The following example shows how to initialize the display and prepare to draw on it using the graphics l...

Page 21: ...February 22 2017 21...

Page 22: ...r compliance with all legal regulatory and safety related requirements concerning its products and any use of TI components in its applications notwithstanding any applications related information or...

Reviews: