Description: hal-ti is a HAL (Hardware Abstraction Layer) implementation for a range of Texas Instruments ARM Cortex-based micro-controllers. hal-ti implements the interfaces defined as part of embedded-infra-lib.
hal-ti requires:
hal-ti cannot be built by-itself, it must be built as part of a larger project. This paragraph describes how to add hal-ti to a CMake build-system, using embedded-infra-lib.
CMakeLists.txt
cmake_minimum_required(VERSION 3.24)
project(MyProject VERSION 1.0.0)
include(FetchContent)
FetchContent_Declare(
emil
GIT_REPOSITORY https://github.com/embedded-pro/embedded-infra-lib.git
GIT_TAG main
)
FetchContent_Declare(
halti
GIT_REPOSITORY https://github.com/embedded-pro/hal-ti.git
GIT_TAG main
)
FetchContent_MakeAvailable(emil halti)
add_executable(myprogram Main.cpp)
target_link_libraries(myprogram PUBLIC
infra.event
hal_tiva.tiva
)
hal_ti_target_default_linker_scripts(myprogram)
hal_ti_target_bringup(myprogram)
Build options defined in the top-level CMakeLists.txt:
HAL_TI_INCLUDE_BRINGUP(defaultON): include the default bringup code; turn off when providing custom initialization.HAL_TI_INCLUDE_LWIP(defaultOFF, switched on by thetm4c1294ncpdtpreset): when building hal-ti standalone, build the lwIP Ethernet instantiation (TM4C129 only).HAL_TI_BUILD_TESTS(defaultOFF): build the host unit tests (standalone builds only).HAL_TI_BUILD_EXAMPLES,HAL_TI_BUILD_EXAMPLES_FREERTOS(defaultOFF): build the examples (HAL_TI_BUILD_EXAMPLESalso buildsvalidation/anddemo/).
Host unit tests (GoogleTest, in integration_test/test) cover hardware-independent logic such as CAN bit timing and the SPI clock divisor. They are built with -DHAL_TI_BUILD_TESTS=ON, which the host presets set:
cmake --preset host
cmake --build --preset host-Debug
ctest --preset hostDriver behaviour on the peripherals themselves can only be verified in-context on the target hardware.
This project uses a code-of-conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the repository maintainers.
Please refer to our contributing guide when you want to contribute to this project.
In order to run the examples, please check the document EK-TM4C123GXL (TM4C123) or EK-TM4C1294XL (TM4C129) first.
The demo folder has one firmware per board, and per board plus BoosterPack (BOOSTXL-K350QVG-S1 display, BOOST-DRV8711 stepper driver).
hal-ti is licensed under the MIT license except the files and/or directories named in the notice file.