This is an example project for the Tiva C Series Launchpad (EK-TM4C123GXL).
It provides:
- A sample application that blinks the LED on the board in different colors.
- A Vagrant based VM that can be used for building, running tests and deploying to a target board.
- Example unit tests that can be run with Ceedling on the host.
- Builds the TivaWare library and the application for the target.
- Load to the target board.
- Github Actions for automated test runs and building of the target binary (see the Actions tab above).
- A Dockerfile that can be used to build in a container.
The Tiva C Series Launchpad (EK-TM4C123GXL) is a low-cost evaluation board from TI for their powerful line of ARM Cortex-M4F-based microcontrollers. You can get it for about $13.
Tiva C Series Launchpad (EK-TM4C123GXL):
This build environment requires that Vagrant and Virtualbox are installed.
Launch the environment with: vagrant up
.
Connect to it with: vagrant ssh
.
Exit the environment with exit
.
Execute all unit tests with ceedling test:all
.
Run a single test with ceedling test:<module>
, e.g. ceedling test:led
.
Load the app on the board with: ceedling load
.
The load command also builds the application if necessary. Just build the application with: ceedling release
.
Included with this environment is an example project with unit tests. When loaded and run the Launchpad LED flashes -- switching between red, green and blue.
There are two software modules -- state and led -- used to determine the LED color (the state) and to set the color of the LED. Each of these modules implements units tests. Unit tests are in the test folder.
In the led module, the TivaWare Peripheral Driver Library is used to initialize and control the GPIO pins connected the multi-color LED. This library is in lib/TivaWare/driverlib and is built automatically if necessary.
Use run the ev
script (ev.bat
on Windows) to execute commands in an environment as defined by the Dockerfile. If the Docker container doesn't exist, it is created when ev
is first run. Log into the container with ev --build
. Learn more about the ev-build
tool in its repo. Note that the Docker container does not provide USB support for connecting to a board.
- Update compiler