tm4c129x-hal and tm4c123x-hal

An TM4C129x and Document SPMT285D

tm4c129x-hal and tm4c123x-hal

An Embedded HAL (Hardware Abstraction Layer) for the TM4C129x and TM4C123x families of microcontrollers from Texas Instruments.

These microcontrollers are based on the Arm Cortex-M4F processor core and derived from the earlier TI/Luminary Micro LM4 and LM3 series MCUs. This HAL may work on an LM4F series MCU, but there are no guarantees. A full list of TM4C series microcontrollers is available from TI in Document SPMT285D.

Crates

This repo comprises:

  • tm4c123x-hal - a HAL for the TM4C123GH6PM and related microcontrollers
  • tm4c129x-hal - a HAL for the TM4C1294NCPDT and related microcontrollers
  • tm4c-hal - drivers and HAL implementation that is common to both the above MCU families

Example Hardware

These crates are tested on the following Tiva-C Launchpad boards:

  • Tiva-C Series TM4C123G Launchpad, EK-TM4C123GXL
  • Tiva-C Series TM4C1294 Connected Launchpad, EK-TM4C1294XL
  • Tiva-C Series TM4C129E Crypto Launchpad, EK-TM4C129EXL

Example projects

The authors are aware of the following projects which use one or other (or both) of these crates:

  • Monotron, a 1980s-style retro computer with VGA output

Documentation

See https://docs.rs/tm4c129x-hal and https://docs.rs/tm4c123x-hal.

License

Licensed under either of

  • Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Issues

Collection of the latest Issues

HerrMuellerluedenscheid

HerrMuellerluedenscheid

0

Hey,

Can you provide a minimalistic example that uses an interrupt from this hal? I'm rather new to embedded rust and I'm probably doing some very stupid and silly mistake why it's not working. It's just that I don't find the cause 😅

Sorry for potential noob questions!

Marius

thejpster

thejpster

0

I noticed recently TI have hugely expanded the TM4C family. They seem to have added a digit - so there's now a TM4C1233 and a TM4C1290 for example.

Any interest in supporting anything other than 123 and 129 on the Launchpads?

https://www.digikey.co.uk/products/en/integrated-circuits-ics/embedded-microcontrollers/685?FV=-8%7C685&quantity=0&ColumnSort=0&page=1&k=TM4C1&pageSize=500&pkeyword=TM4C1

liamdiprose

liamdiprose

4

Opening this issue to discuss the addition of ADC support.

Just as stated in my other issue #10 , I have an upcoming project that aims to process audio using Rust. For this project, I will need ADC support for audio input.

I am happy to add support for the ADC's, but unlike the PWM support, I do not know how much work is required.

Are there any points we need to discuss concerning the addition of ADC support?

chrysn

chrysn

3

The bb module in this HAL is well usable for other chips, I'd like to suggest splitting it out for easier re-use. (Right now I've copy-pasted it to the efm32gg-hal crate).

Not only is the code generic over various chips, but also for memory regions. The comments to ref_to_bitband say it can be used only things slightly above 0x2000_000, but actually works for the peripheral registers at 0x4000_0000 just as well.

I expect the challenge to be the characterization of where the resulting bit-banding crate could be applicable. The most generic document I found that describes this very mechanism is 2.2. Memory Model of the Cortex-M4 Generic User Guide, but it appears to be applicable to M3 (at least EFM32) as well.

Information - Updated Jun 23, 2022

Stars: 29
Forks: 22
Issues: 10

CDRS is looking for maintainers

CDRS is Apache Cassandra driver written in pure Rust

CDRS is looking for maintainers
Http

371

A push parser for the HTTP 1

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2

A push parser for the HTTP 1

The arkworks ecosystem consist of Rust libraries for designing and working with zero knowledge succinct...

This library is released under the MIT License and the Apache v2 License (see License)

The arkworks ecosystem consist of Rust libraries for designing and working with zero knowledge succinct...

Say Hello To DataBend The Open Source Cloud Warehouse for Everyone

Databend is inspired by apache-arrow and allows you to scale your cloud warehousing, using off the shelf open source stacks & the ultra fast processing speeds you come to expect from say Bigquery

Say Hello To DataBend The Open Source Cloud Warehouse for Everyone

Bespoke protocol and high-level implementation of Non-fungible token (NFT) technology 🚀

This project is duel-licensed under both the Apache licenses, so feel free to use either at your discretion

Bespoke protocol and high-level implementation of Non-fungible token (NFT) technology 🚀

Bespoke protocol and high-level implementation of Non-fungible token (NFT) technology 🚀

This project is duel-licensed under both the Apache licenses, so feel free to use either at your discretion

Bespoke protocol and high-level implementation of Non-fungible token (NFT) technology 🚀
Facebook Instagram Twitter GitHub Dribbble
Privacy