lm4tools
FreeTools to enable multi-platform development on the TI Stellaris Launchpad boards.
FreeFree tier
About lm4tools
lm4tools is a set of open-source tools for multi-platform development on Texas Instruments Stellaris Launchpad boards (ARM Cortex-M4F). It includes lm4flash, a command-line firmware flashing tool that uses libusb-1.0 to communicate with the onboard ICDI debugger, and lmicdiusb, a TCP/USB bridge that allows GDB to communicate with the ICDI. Both tools work on Linux, macOS, and BSD systems; lm4flash additionally supports Windows. lm4flash is licensed under GPLv2+, lmicdiusb under a BSD-style license. The project provides instructions for setting up a cross-compiler, using StellarisWare examples, and optionally removing root requirements via udev rules.
Key Features
Command-line firmware flashing (lm4flash) using libusb-1.0
TCP/USB bridge for GDB communication (lmicdiusb)
Multi-platform support: Linux, macOS, Windows (lm4flash only), BSD
Open source with permissive licenses (GPLv2+ and BSD-style)
Works with TI Stellaris Launchpad ICDI debugger
Ability to remove root requirement via udev rules
Pros & Cons
Pros
- Free and open source, no vendor lock-in
- Works across multiple operating systems
- Enables command-line automation for flashing
- Low-cost hardware (Stellaris Launchpad) is widely available
- Clear documentation and example setup instructions
Cons
- lmicdiusb does not work on Windows due to poll() limitations for USB
- Requires manual setup of cross-compiler and StellarisWare
- Root permissions needed by default unless udev rules are added
- Limited to TI Stellaris Launchpad boards (not general-purpose)
Best For
Flashing firmware to TI Stellaris Launchpad boards (e.g., LM4F120)Debugging embedded applications with GDB via ICDIAutomating firmware updates in CI/CD pipelinesSetting up a cross-platform embedded development environmentLearning ARM Cortex-M4F programming with low-cost hardware
FAQ
What does lm4tools include?
It includes lm4flash for command-line firmware flashing and lmicdiusb as a TCP/USB bridge for GDB debugging, both targeting TI Stellaris Launchpad boards.
Which operating systems are supported?
lm4flash works on Linux, macOS, Windows, and BSD. lmicdiusb works on Linux, macOS, and BSD but not currently on Windows.
How do I remove the root requirement for flashing?
Add a udev rule file (e.g., /etc/udev/rules.d/61.stellpad.rules) with the USB vendor and product IDs for the Stellaris Launchpad ICDI, then restart udev.
What license is lm4tools under?
lm4flash is licensed under GPLv2+; lmicdiusb is under a BSD-style license.