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): 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.
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.
hal-ti is licensed under the MIT license except the files and/or directories named in the notice file.