1. F29H85x-MCAL-SDK 26.00.00 Release Notes
1.1. Introduction
F29x MCAL is a cohesive set of tools for AUTOSAR based development on C2000 real-time controllers. It includes device-specific drivers (MCALs), EB Tresos Plugins for configuration, Bare-metal Examples for each driver.
This release is a STS (Short Term Support) release targeted for F29H85x.
1.2. Quick Start
Install Prerequisites:
Install all tools listed in the Dependencies section.
Get Started:
Refer to the User Guide at
Installer:\docs\User_Guide(local copy) or online versionRefer to the Migration Guide for upgrading from previous versions
Try the bare-metal examples in the
examples/directory
Get Help:
Technical Support: E2E Forum
1.3. Device Support
The following devices are supported with this release:
1.3.1. MCUs
F29H859DU_Q1
F29H859TM_Q1
F29H859TU_Q1
F29P329SJ_Q1
F29P329SM_Q1
F29P589DM_Q1
F29P589DU_Q1
1.3.2. Hardware Platforms
F29H85X-SOM-EVM
1.4. What Is Supported
MCAL / CDD (AUTOSAR v4.3.1)
Drivers |
Modules |
|---|---|
Micro controller Drivers |
GPT, MCU, WDG |
Communication Driver |
CAN, LIN, SPI |
I/O Drivers |
DIO, PORT |
Memory Drivers |
FLS |
Complex Device Drivers |
ADC, XBAR, SENT, IPC, UART, PWM, ECAP, I2C, DMA |
Resource Allocator
Reference Code:
Multi-Core startup code
Build System:
CMake
CCS Projectspec
Beta AI Agent Enablement
1.5. What Is Not Supported
Multi-core MCALs as per AUTOSAR 4.3.1.
1.6. New In This Release
Beta AI Agent Enablement:
CCS AI Agent Support:
Added AGENTS.md file to enable AI-assisted development workflows
AI coding agents can automatically create working F29 MCAL example projects
Compatible with CCS v20.05.00
CCS provides additional MCP services (build, debug) that help AI agents catch and fix issues automatically
For more information, see the CCS User Guide - AI Coding Assistants
Disclaimer: As with any AI-based tooling, results may vary. The AGENTS.md file will be updated iteratively based on feedback. Always review AI-generated code before use.
LLM Context Files:
Added llms.txt and llms-full.txt files to provide structured project context for AI language models
These files follow the llms.txt standard to help AI tools better understand the F29x MCAL project structure and APIs
MCAL / CDD:
New modules added:
CDD DMA:
Added DMA driver with support for memory-to-memory, memory-to-peripheral, and peripheral-to-memory transfers
Includes EB Tresos plugin for configuration
Existing modules with enhancements:
CDD XBAR:
Added support for external interrupt configuration
Added APIs to configure external interrupt
Updated
Cdd_Xbar_Gpio_interruptexample to demonstrate external interrupt configurationAdded CDD_XBAR_TRIP1 to EPWM Xbar output lines configuration
Updated EB Tresos plugin to use superset fallback lists for crossbar input line selections across Output, EPWM, CLB, MinDB, and ICL crossbar types
WDG:
Added new
Wdg_Example_Resetexample demonstrating watchdog timer reset functionalityExample shows watchdog timeout behavior when intentionally not serviced
MCU:
Lockstep configuration is now available through the Resource Allocator plugin
CPUSEL and FRAMESEL settings for supported peripherals can now be configured through the Resource Allocator plugin
Note: These features are released with limited testing in this release and will be comprehensively tested in the next release
Resource Allocator:
Added superset property aggregation for all device variants, packages, physical pin numbers, mux modes, pin names, peripherals, and signal types
EB Tresos plugin configurations now use dynamic superset fallback values instead of hardcoded defaults, enabling the plugin to load and display valid options even when device-specific ECU resource files are not yet available
PORT:
Updated EB Tresos plugin to use superset fallback lists for pin configuration parameters including peripherals, mux mode signals, physical pin numbers, pin names, mux modes, and supported directions
Restored EPWM6 pin configuration support as per updated specification for F29P32x devices
CDD IPC:
Updated EB Tresos plugin to use superset fallback lists for IPC remote cores and IPC instance selections
CDD PWM:
Restored EPWM6 configuration support as per updated specification for F29P32x devices
DIO:
Added validation in DIO so that it can only refer to PORT pins that are configured as GPIO and mapped to AUTOSAR core i.e. CPU1
CAN:
Updated CAN examples to use GPIO 234 and GPIO 235 for CAN TX/RX pins to align with the physically available pinout on the F29H85X-SOM-EVM board
CDD ADC:
Updated
Cdd_Adc_Example_DmaTransferexample to use the MCAL Cdd_Dma driver instead of the rtdma library from f29x_sdkAdded
Voltrefparameter toCdd_Adc_GetTemperatureC()andCdd_Adc_GetTemperatureK()APIs to enable accurate temperature calculation across different voltage reference configurationsUpdated Temperature sensor example to use the latest
Cdd_Adc_GetTemperatureC()andCdd_Adc_GetTemperatureK()APIs
CDD I2C:
Added support for I2C target mode operation
Silicon Errata Impact Analysis:
Completed analysis of F29H85x, F29P58x, and F29P32x Real-Time MCUs Silicon Errata (Silicon Revisions B, A, 0) for document version SPRZ569C – NOVEMBER 2024 – REVISED MARCH 2026; recommended actions for MCAL users are documented in the Silicon Errata Workarounds and Recommendations chapter of each Module User Guide.
Build System:
Updated TI C29 Clang compiler and linker version from 2.0.0.STS to 2.2.0.LTS
Updated post-build certificate handling steps across build infrastructure for FLASH image signing
1.7. Module Version Number
Module |
Version |
|---|---|
MCU |
02.02.00 |
PORT |
04.00.00 |
DIO |
01.01.00 |
GPT |
02.00.03 |
CAN |
04.00.00 |
WDG |
02.00.02 |
LIN |
03.01.01 |
SPI |
03.01.01 |
FLS |
03.02.00 |
CDD ADC |
04.00.00 |
CDD XBAR |
03.01.00 |
CDD SENT |
03.01.01 |
CDD PWM |
03.01.01 |
CDD ECAP |
03.01.01 |
CDD IPC |
02.01.01 |
CDD UART |
03.00.02 |
CDD I2C |
01.03.00 |
CDD DMA |
01.00.00 |
Resource Allocator |
01.01.00 |
1.7.1. Note
We follow Autosar’s requirement [SRS_BSW_00321] for versioning of each module:
5.2.4.10 [SRS_BSW_00321] The version numbers of AUTOSAR Basic Software Modules shall be enumerated according specific rules
Type |
Description |
|---|---|
Type: |
Valid |
Description: |
The version numbers of AUTOSAR Basic Software Modules shall be enumerated according to the following rules: |
Rationale: |
Provide unambiguous version identification for each module, provide version cross check as well as basic version retrieval facilities. Compatibility is always visible! |
Use Case: |
Example: ADC module with version 1.14.2 |
1.8. Fixed In This Release
Key |
Component/s |
Severity |
Summary |
Affected Version |
Impact |
Steps to Reproduce |
Fix Description |
|---|---|---|---|---|---|---|---|
MCAL-37005 |
Cdd_Adc, Cdd_Ecap, Cdd_Pwm, Spi |
S3-Minor |
MemMap: Variables placed in incorrect memory sections |
C29xMCAL_01.04.00 |
Variables were placed in unintended memory regions due to incorrect MemMap section marker placement in driver source files. |
1. Build MCAL drivers and check generated MAP file. |
Corrected MemMap section marker placement: moved STOP_SEC_CODE to proper location in Cdd_Adc_Priv.c, removed redundant section markers in Cdd_Ecap_Priv.c, moved SFO calibration variables to file scope with proper sections in Cdd_Pwm_Priv.c, and added missing sections around Spi_DriverObjPtr in Spi_Priv.c. |
MCAL-36330 |
Can |
S2-Major |
CAN: Continuous CanIf_TxConfirmation() when new transmission is not initiated |
C29xMCAL_01.04.00 |
CanIf_TxConfirmation is received multiple times if new message transmission is not initiated on a HOH. |
1. Send only one CAN message using Can_Write(). |
As hardware register status (transmission and cancellation) does not clear until next transmission request is added, maintain the pending status in software to help identify if the message is already processed. |
MCAL-35980 |
Can |
S3-Minor |
CAN: Configuration validation gap for CanMainFunctionRWPeriod in Polling/Mixed Mode |
C29xMCAL_01.00.00 |
Configurator allows a hardware object mapped to a controller configured entirely in Polling mode to have no schedulable function mapped to it without any warning or error. If such configuration exists, hardware object can’t be read or written. |
1. Open EB Tresos configuration tool. |
Added configuration validation check in XDM to detect and report an error when a hardware object set to Polling mode has no CanMainFunctionRWPeriodRef mapped to it. |
MCAL-35624 |
Dio |
S3-Minor |
DIO: Dio doesn’t follow AUTOSAR naming guidelines for typedefs and macros |
C29xMCAL_01.00.00 |
As AUTOSAR naming convention is not followed, these definitions may conflict with other definitions in an application |
Review the static and dynamic files of DIO module |
Updated all macros in DIO module to follow AUTOSAR naming conventions (Dio_ prefix for all public symbols). |
MCAL-35862 |
Fls |
S2-Major |
FLS: Fls_F29Compare casts a byte aligned pointer to a 32-bit aligned pointer and dereferences it, which is illegal |
C29xMCAL_01.04.01 |
When Fls_f29Compare() is called with a ramAddr that is not 32-bit aligned (e.g. 8-bit aligned), execution will crash in Fls_priv.c in Fls_F29Compare() due to illegal pointer cast and dereference. |
1. Call Fls_f29Compare() with a ramAddr that is not 32-bit aligned (e.g. 8-bit aligned). |
Removed the illegal conversion and appropriately internally handle the 8-bit pointer. |
MCAL-35789 |
Fls |
S1-Critical |
FLS: Flash API initialization fails due to missing semaphore handling in FlashAPIInit |
C29xMCAL_01.04.01 |
The Flash API may not be properly initialized, which can cause flash operations to fail or produce unexpected errors. |
1. Call FlashAPIInit without claiming flash semaphore. |
Added semaphore claim and release calls before and after the Flash initialization function. |
MCAL-36611 |
Port |
S3-Minor |
PORT: Invalid characters in Peripheral Names and non-compliant Physical Pin ID enum values violate AUTOSAR naming rules |
C29xMCAL_01.00.00 |
ARXML generation produces non-compliant AUTOSAR short names, causing AUTOSAR validation tools to reject the generated configuration. Downstream BSW configuration tools expecting valid AUTOSAR identifiers would fail. |
1. Open EB Tresos with the Port plugin. |
Replaced |
MCAL-35838 |
Fls |
S3-Minor |
FLS: Incorrect hardcoding of FlsMaxWriteNormalMode to 16 in Fls_Init |
C29xMCAL_01.04.01 |
|
1. Set |
Removed the hardcoded assignment of |
MCAL-35849 |
Fls |
S2-Major |
FLS: Missing semaphore acquisition checks |
C29xMCAL_01.04.01 |
The flash semaphore claim function — called before |
1. Configure a multi-core system where CPU3 holds the flash semaphore. |
Added a return value check after each semaphore claim call in |
MCAL-35885 |
Fls |
S2-Major |
FLS: Bug in Fls_Fapi_issueProgrammingCommand |
C29xMCAL_01.04.01 |
When |
1. Set |
Corrected the indexing of |
MCAL-35964 |
Fls |
S3-Minor |
FLS: Bugs in implementation involving static and globals for Program and Erase |
C29xMCAL_01.04.01 |
The |
1. Initiate a Write (Program) operation. |
The |
MCAL-36715 |
Fls |
S3-Minor |
FLS: Timeout implementation is not cumulative |
C29xMCAL_01.04.01 |
The timeout check for Program and Erase operations does not measure the total elapsed time across multiple |
1. Enable timeout supervision ( |
The timeout start time is now captured once per FSM operation — at the point the erase or program command is first issued — and held constant while the FSM remains in the same polling stage across subsequent |
MCAL-36722 |
Fls |
S2-Major |
FLS: Failure scenarios in Program and Erase (Sector, Bank) not properly handled |
C29xMCAL_01.04.01 |
When a failure occurs during a Program or Erase operation, the internal FSM state variables are not reset to their default values. The failed job is reported correctly, but any subsequent job may start from a stale state, leading to unexpected behavior or further failures. |
1. Artificially introduce a failure in a single Erase (Sector or Bank) or Program operation. |
Moved the FSM state variables for Program (write stage, PostFapiFsmReady flag) and Erase (sector erase stage, bank erase stage) into the driver object ( |
MCAL-36502 |
Can |
S3-Minor |
CAN: Transceiver delay offset and delay filter values are not handled according to AUTOSAR requirement |
C29xMCAL_01.04.01 |
The |
1. Enable Tx Delay compensation in the CAN configuration. |
Added proper unit conversion from nanoseconds to mtq (minimum time quantum) units before writing |
MCAL-35835 |
Can, CDD SENT |
S3-Minor |
CAN, CDD SENT: Pointer-list arrays incorrectly declared using |
C29xMCAL_01.04.01 |
Config arrays holding pointers to const objects (e.g., baud-rate config lists, mailbox lists, SENT channel/MTP config lists) were declared with |
1. Build any CAN or CDD SENT test or example. |
Replaced all |
MCAL-35808 |
Mcal_Lib |
S3-Minor |
Dependency of Mcal_Lib_MemMap.h for MCAL drivers |
C29xMCAL_01.04.01 |
Potential MemMap generation issues due to missing function documentation |
Mcal_Lib_MemMap.h is included in sys_pmu.c. |
Corrected the MCAL_Lib_Bswmd.arxml with Module definition and other required parameters to create the Module and generate MemMap in Davinci |
MCAL-35347 |
CDD I2C |
S2-Major |
I2C: Cancel API is not functional |
C29xMCAL_01.04.00 |
The |
1. Start an I2C transfer. |
Implemented the |
MCAL-32321 |
All |
S2-Major |
All Modules: Link time optimization is not verified for all modules |
C29xMCAL_01.03.00 |
Link time optimization (LTO) had not been verified across all modules, which could cause unexpected behavior or build issues if enabled. |
1. Add |
Verified link time optimization (LTO) across all MCAL modules. LTO is now supported and validated for all drivers. |
MCAL-36814 |
All |
S3-Minor |
All Modules: MainFunction execution context incorrectly set to UNSPECIFIED in bswmd.arxml |
C29xMCAL_01.04.01 |
The main function execution context in bswmd.arxml files for all MCAL modules was set to UNSPECIFIED instead of TASK. This may cause integration issues with BSW tooling that validates the execution context of scheduled main functions. |
1. Open the bswmd.arxml file for any MCAL module. |
Updated all MCAL module bswmd.arxml files to set the main function execution context to TASK as required by the AUTOSAR specification. |
MCAL-36584 |
All |
S3-Minor |
All Modules: BSWModuleEntry incorrectly uses expectedEntry instead of implementedEntry in bswmd.arxml |
C29xMCAL_01.00.00 |
The bswmd.arxml files for all MCAL modules used a mix of |
1. Open the bswmd.arxml file for any MCAL module. |
Replaced all |
MCAL-36562 |
CDD IPC |
S3-Minor |
CDD IPC: Incorrect IPC instances reserved when CddIpcReservedInstances is set to 1 |
C29xMCAL_01.03.00 |
When |
1. Open EB Tresos with the CDD IPC plugin. |
Corrected the IPC instance reservation logic to ensure continuous and correct instance numbering when |
MCAL-35788 |
Mcal_Lib |
S2-Major |
Mcal_Lib: Symbol redefinition conflict for Mcalib_BromStatus and McalLib_DeviceCalibrationData when used alongside f29x_sdk |
C29xMCAL_01.03.00 |
When MCAL and f29x_sdk are used together, |
1. Use MCAL together with f29x_sdk in the same project. |
Changed |
MCAL-37849 |
Can |
S3-Minor |
CAN: Non-sequential MCAN instances fail to function when preceding instances are not configured |
C29xMCAL_01.04.01 |
CAN instances must be configured in sequential order to operate correctly. If earlier MCAN instances (e.g., MCAN A and MCAN B) are not configured, any higher-numbered instance (e.g., MCAN C) will fail to function. This prevents users from selectively enabling only the MCAN instances they need. |
1. Open EB Tresos and create a CAN configuration. |
Updated the CAN driver to allow non-sequential MCAN instance configuration, so that any MCAN instance can be used independently without requiring all preceding instances to be configured. |
MCAL-37887 |
Cdd_Adc |
S3-Minor |
CDD ADC: Temperature conversion APIs lack support for different voltage references in external reference mode |
C29xMCAL_01.01.00 |
The |
1. Configure ADC with external voltage reference mode using a non-standard voltage (e.g., 3.0V). |
Added new |
1.9. Known Issues And Limitations
There are few limitations and known issues associated with this release.
1.9.1. Limitations
CDD ECAP:
In case of high frequency signals (i.e. 500Khz and above), software overhead in user callback shall be kept to minimum to avoid missing edges.
Test Infrastructure: Following tests have not been performed due to limitations of available test infrastructure:
CDD SENT: Following modes in SENT are not tested:
Enhanced 16-bit Slow Mode.
Nibble Count 1,2,3,4,5.
MTP Mode with all 4 sensors connected.
CDD IPC: IPC is validated between CPU1 and CPU3. Since, CPU2 is configured in lockstep in our framework; IPC between CPU1 and CPU2 or CPU2 and CPU3 is not validated.
Fls: Timeout tests are not performed as FLASH characterization data is not yet available for this device.
Spi: Board to board Spi communication validated upto 40MHz. 50MHz have been only tested in loopback mode.
1.9.2. New Known Issues
Key |
Component/s |
Severity |
Summary |
Affected Version |
Impact |
Steps to Reproduce |
Workaround |
|---|---|---|---|---|---|---|---|
- |
- |
- |
- |
- |
- |
- |
- |
1.9.3. Existing Known Issues
Key |
Component/s |
Severity |
Summary |
Affected Version |
Impact |
Steps to Reproduce |
Workaround |
|---|---|---|---|---|---|---|---|
- |
- |
- |
- |
- |
- |
- |
- |
1.10. Quality Status
Sr. No. |
Work Product |
Availability |
Where to find Artifacts |
Current Quality Status |
|---|---|---|---|---|
1 |
Dynamic Analysis Report |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
2 |
Static Analysis Report |
Yes |
Installer:*\docs\Static_Analysis |
All Mandatory & Critical warnings and errors are resolved. Required and Advisory warnings will be fixed in future releases. |
3 |
Test Reports: Test Cases and Test Results |
Yes |
Installer:*\docs\Test_Report |
All test reports are present in installer. |
4 |
Bi-directional Traceability Report |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
5 |
Customer Docs: User Guide |
Yes |
Installer:*\docs\User_Guide |
User Guide is present in installer as well as softwaredl |
6 |
SW FMEA |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
7 |
Detailed Design Document |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
8 |
SW Manifest |
Yes |
Installer:*\mcal_manifest |
SW manifest is present in installer |
9 |
Software Product Specification: List of functional, safety requirements for SW components |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
10 |
Architecture Document |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
11 |
SW Safety Manual |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
12 |
Safety Assessment |
No |
CSP |
Will be available in future releases. Please refer to device roadmap for details. |
Note: CSP = Compliance Support Package
1.11. Release Types
F29x MCAL releases follow a tiered support model with three release types: Early Adopter (EA), Short Term Support (STS), and Long Term Support (LTS). Each release type serves different customer needs and provides varying levels of support, quality assurance, and maintenance.
1.11.1. How to Identify Release Type
The release type for each F29x MCAL release can be identified through the following methods:
Release Notes Introduction Section: Every release note’s Introduction section will specify the release type (EA, STS, or LTS) for that particular release.
1.11.2. EA (Early Adopter)
Early Adopter releases are intended for customers who want early access to new features and capabilities before they are fully validated. These releases allow customers to evaluate new functionality and provide feedback during the development cycle.
Example Use Cases:
Early evaluation of new features
Proof-of-concept development
Providing feedback to the development team
Planning for future integration
1.11.3. STS (Short Term Support)
Short Term Support releases provide a stable platform with validated features suitable for development and integration activities. These releases offer improved quality assurance compared to EA releases but are not intended for production deployment.
Example Use Cases:
Development and integration activities
System validation and testing
Pre-production evaluation
Feature completeness verification
1.11.4. LTS (Long Term Support)
Long Term Support releases are production-ready releases that provide the highest level of quality assurance, safety certification support, and long-term maintenance. These releases are recommended for production deployment in automotive and safety-critical applications.
Example Use Cases:
Production deployment
Safety-critical applications
Automotive production systems
Applications requiring long-term stability and support
1.11.5. Release Type Comparison
Topic |
EA (Early Adopter) |
STS (Short Term Support) |
LTS (Long Term Support) |
|---|---|---|---|
Quality |
Baseline Quality |
Baseline Quality (new features) |
Functional Safety (if applicable) |
Testing |
Best Effort |
>95% pass |
>95% pass |
Safety CSP |
NA |
NA |
Yes (if FSQ) |
Safety Certification |
NA |
NA |
Yes (Internal / External) |
Maintenance |
No |
No |
Will maintain until next LTS release |
Bug Fix / Patch Release |
No |
Bugs that are prioritized will be fixed in the next release; no backporting to STS releases |
Bug fixes on the LTS maintenance branch will be prioritized based on the severity of the bug |
Feature Addition |
Yes |
Yes |
New features will be added in an LTS release, but post LTS release, new features will not be backported to the LTS maintenance branch |
Production Ready |
No |
Not recommended for Production |
Recommended for Production |
1.12. CI/CD Strategy
F29H85x MCAL is also available on GitHub at https://github.com/TexasInstruments/f29h85x-mcal. The GitHub repository always reflects the leading and bleeding edge of MCAL development, providing early access to the latest features, fixes, and improvements as they are developed.
Disclaimer: The GitHub repository contains software that is not fully tested and may include bugs, errors, or defects that could cause system instability or unexpected behavior. Always review and validate code before use in any application.
Official releases are published under the Releases section of the GitHub repository. These correspond to the versioned releases documented in these release notes and have undergone the quality and testing criteria.
1.13. Software Bill of Materials
Component Type |
Component Name |
Production or Reference |
Process Compliance |
Certification |
Distribution |
Comments |
|---|---|---|---|---|---|---|
Tools |
${MCAL_INSTALL_PATH}/build/toolchain/* |
Reference |
Demo Quality |
No |
ti.com |
|
Documentation |
${MCAL_INSTALL_PATH}/docs/* |
Reference |
Baseline Quality |
Yes |
ti.com |
|
Drivers |
${MCAL_INSTALL_PATH}/drivers/* |
Reference |
Baseline Quality |
Yes |
ti.com |
Functional Safety Quality and Certification will be available in future releases. Please refer to device roadmap for details. |
Stubs |
${MCAL_INSTALL_PATH}/drivers/BSW_Stubs |
Reference |
Demo Quality |
No |
ti.com |
BSW Stubs are provided as reference only. |
Examples |
${MCAL_INSTALL_PATH}/examples/* |
Reference |
Demo Quality |
No |
ti.com |
|
Tools |
${MCAL_INSTALL_PATH}/plugins/* |
Reference |
Baseline Quality |
Yes |
ti.com |
Functional Safety Quality and Certification will be available in future releases. Please refer to device roadmap for details. |
1.14. Dependencies
This release has dependency on the following tools:
CCS v20.05.00 or above version.
C29Clang Compiler 2.2.0 LTS.
EB Tresos (ACG 8.8.12)
OpenSSL v3.x.x