The Stellaris Peripheral Driver Library is a royalty-free set of functions for controlling the peripherals found on the Stellaris family of ARM Cortex-M3 microcontrollers. Vastly superior to a GUI peripheral configuration tool, the Stellaris Peripheral Driver Library performs both peripheral initialization and peripheral control functions with a choice of polled or interrupt-driven peripheral support.
The Stellaris Peripheral Driver Library provides support for two programming models: the direct register access model and the software driver model. Each programming model can be used independently or combined, based on the needs of the application or the programming environment desired by the developer. The direct register access model includes header files for each specific Stellaris MCU and will generally result in smaller and more efficient code in a software development environment familiar to most deeply embedded firmware engineers and to engineers used to working with 8- and 16-bit MCUs. The software driver model insulates the software engineer from hardware details including the operation of each register, bit field, their interactions, and sequencing required for the proper operation of the peripheral, generally requiring less time to develop applications.
Some Stellaris microcontrollers provide the Stellaris Peripheral Driver Library on-chip in ROM (read-only memory). With the Stellaris Peripheral Driver Library in ROM, it is easier than ever to use the library to quickly develop efficient and functional applications in an environment where the entire flash memory is available for use for the application. The ROM-based Stellaris Peripheral Driver Library also supports user flash-based overrides of standard Stellaris Peripheral Driver Library functions, for complete flexibility in functionality.
- Free license and royalty-free use (for use with Stellaris MCUs)
- Simplify and speed the development of applications - can be used for application development or as a programming example.
- Enables easy, rapid use of all Stellaris peripherals, including flash programming, MPU support, GPIOs, UARTs, ADCs, comparators, timers, PWMs, Ethernet, IEEE 1588 support, USB, CAN, and the Stellaris Bootloader.
- Available in ROM on some Stellaris microcontrollers.
- Allow the creation of full-function, easy-to-maintain code.
- Written entirely in C except where absolutely not possible. Even written in C, the software is reasonably efficient in terms of memory and processor usage due to the compact nature of the Cortex-M3 Thumb2 instruction set.
- Take full advantage of the stellar interrupt performance of the Cortex-M3 core, without requiring any special pragmas or custom assembly code prologue/epilogue functions.
- Can be compiled with error-checking code (for development use) or without (for final production use in an MCU with a smaller memory configuration).
- Available as both object library and source code, so that the library can be used as-is or adapted as desired.
- Complete source-code examples for every peripheral and complete projects that work out-of-the-box for all Stellaris development and evaluation kits.
- Compiles on ARM/Keil, IAR, Code Red, CodeSourcery, and generic GNU development tools.