Skip to content

jkovacic/FreeRTOS-GCC-tm4c123glx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

FreeRTOS, ported to the Texas Instruments TM4C123GLX Launchpad, i.e. an evaluation board with the TI TM4C123GH6PM microcontroller, based on ARM® Cortex-M4F.

The current version is based on FreeRTOS 10.4.0. The port will be regularly updated with newer versions of FreeRTOS when they are released.

The port is still at an early development stage and includes only very basic demo tasks. More complex tasks will be included in the future.

Prerequisites

  • Tiva™ C series TM4C123GLX Launchpad
  • A Micro-B USB cable, usually shipped with a Launchpad
  • GNU Arm Embedded Toolchain, based on GCC. See comments in setenv.sh for more details about download and installation.
  • GNU Make
  • LM4Tools or TI LMFlash Programmer to upload images to the Launchpad
  • Optionally OpenOCD for debugging. See comments in start_openocd.sh for more details about installation.
  • Optionally a FTDI or PL2303HX cable supporting +3.3V based TTL level UART signals

Build

A convenience Bash script setenv.sh is provided to set paths to toolchain's commands and libraries. You may edit it and adjust the paths according to your setup. To set up the necessary paths, simply type:

. ./setenv.sh

To build the image with the test application, just run make or make rebuild. If the build process is successful, the image file image.bin will be ready to upload to the Launchpad.

Run

When the image tiva.bin is successfully built, you may upload it to the Launchpad, using the simple cross platform CLI tool LM4Tools:

/path/to/lm4flash image.bin

Alternatively you may use the GUI tool TI LMFlash Programmer, provided by Texas Instruments. It is available for Windows only.

To establish the first serial connection, just open a serial terminal program (e.g. Hyper Terminal, GtkTerm or Minicom) and configure the FTDI virtual COM port to 115200 bps, 8 data bits, no parity, 1 stop bit.

To establish the second serial connection, connect the FTDI or PL2303HX cable's TX connection to pin B0, its RX connection to pin B1 and the GND connection to the nearby GND pin. Then open another instance of a serial terminal and configure the cable's virtual COM port with the same settings as at the first connection. If you do not have a FTDI or PL2303HX cable, you may open app/FreeRTOSConfig.h, set APP_PRINT_UART_NR and APP_RECV_UART_NR both to 0 and rebuild the application. In this case, it is not necessary to establish the second connection as the entire communication will be performed by the first one.

Application

The first serial connection is a debug connection, intended to display diagnostic messages only. It will display a welcome message and start printing the system's uptime.

The second serial connection receives characters you send using a keyboard but does not display anything until Enter is pressed. When this happens, it will invert your text and print it.

In parallel to this, a simple light show runs. It periodically turns on and off various combinations of built-in LEDs. The light show may be paused/resumed by pressing the built-in switch 1.

License

All source and header files are licensed under the MIT license.

For the avoidance of any doubt refer to the comment included at the top of each source and header file for license and copyright information.

About

A port of FreeRTOS to the Texas Instruments Tiva TM4C123GLX Launchpad

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages