F29H85X-SDK is the Core SDK providing collection of all foundational software components required to accelerate application development . It includes device-specific drivers, bit-fields, libraries (math, DSP, Control, Calibration, Communication, Flash API and Security client), peripheral examples, utilities, hardware files, and documentation. Application specific software and hardware files are delivered through additional Software Development Kits (SDK). For more information, visit F29-SDK
Device Support
The following devices are supported with this release
- MCU's
- F29H85x
- F29P58X (Limited support using device emulation)
- F29P32X (Limited support using device emulation)
- Hardware Platforms :
What is Supported
- Driverlib
- Driverlib for F29H85X
- Driverlib for C29 CPU1, CPU2 and CPU3 peripherals
- Safety and Security Unit (SSU) examples
- Supports HSSE build configuration used for HSSE device type
- Single core examples on HSFS device type
- Multi core examples between CPU1 and CPU3 for IPC, ESM, Flash, SSU on HSFS device type
- SysConfig
- Support for Peripheral configuration for Control, Analog,System and Communication Peripherals
- Support for RTDMA
- Support for XBAR
- Support for Board Components
- Support for freeRTOS Configuration
- Support for Memory Configuration
- Support for Driver Porting Layer (DPL)
- Support for System Security Configuration
- Support for MCU Mission Control and Transfer (BETA)
- Support for Configurable Logic Block (CLB)
- Support for C29 and Third Party Libraries
- Support for Custom Board Migration
- Universal Project Support Examples (Easy migration support across C2000 using SysCfg)
- Bitfields
- Kernel:
- FreeRTOS kernel for C29 CPU1 and demos on F29H85X
- DPL kernels for nortos and FreeRTOS
- EtherCAT:
- C29 CPU1 EtherCAT HAL drivers and test examples for F29H85X
- C29 CPU1 Stack Configuration file for Beckhoff’s Slave Stack Code Tool for F29H85X
- C29 CPU1 Slave Stack demo examples for F29H85X
- EtherCAT - FoE example for C29 CPU1
- Real-time libraries – source and examples for Control, DSP, and FastMath operations. In general, APIs are F28x compatible
- DCL – Floating-point Digital Control Library
- DSP – Floating-point FFT (CFFT/RFFT), FIR, and IIR
- FastMath – CRC and TMU (floating-point)
- IQMath – Fixed-point math library
- Scale Factor Optimization (SFO) Library
- Migrated to use driverlibs instead of bitfields
- PMBus slave stack
- Master/slave example demonstrating PMBus v1.2 capability
- Flash API
- C29 Flash API library EABI only
- 128-bit flash api example for Bank Mode 0 & 2
- 512-bit flash api example for Bank Mode 0 & 2
- EEPROM example on data flash
- UART flash kernel example
- Tools and Utilities
- CLB Tool
- ClockTree support in SysConfig
- System Security Configuration Tool (SSU)
- Certificate generation for the C29 example binaries
- Security Configuration (SECCFG) checker Tool
- SECCFG binary generation Tool
New in Release 1.01.00.00
- Examples
- Benchmarks
- Motor control signal chain benchmark example
- Communication
- Ethercat examples
- cia402
- echoback
- foe download
- Driverlib
- Multicore examples
- RTDMA between CPU1 and CPU2
- SSUMODE3 support for SSU IPC examples
- SSU IPC example between CPU1 and CPU2
- Simplified SSU IPC example between CPU1 and CPU3
- Empty example for multi core
- Empty example for multi core using dummy certificate
- Single core examples
- EMIF
- 16 bit SDRAM
- 32 bit SDRAM
- 16 bit ASRAM
- Empty examples
- Create static library
- Security module
- Dummy certificate
- Flash
- 128-bit Flash API programming example for BANKMODEs 1 and 3
- 512-bit Flash API programming example for BANKMODEs 1 and 3
- Flash based UART SBL with FOTA
- CPU3 support for UART Flash kernel
- Bankmode switch for FOTA (Supports bankmode switch from any mode to either mode 1 or 3)
- LED blinky example Launchpad
- LED blinky example for F29P58X and F29P32X device emulation
- Kernel
- Multicore examples
- FreeRTOS Asymmetric Multi Processing (AMP) between CPU1 and CPU3
- Single core examples
- IPC HAL example for CPU3
- This example shall be tested on CPU3 while AUTOSAR stack is running on CPU1
- RTlibs
- Fastmath examples (Matrix, Binary LUT Search, TMU (expf, logf))
- Driverlib
- EMIF driver
- Device emulation support for F29P58X and F29P32X device
- Mandatory MISRA-C violation fix
- Syscfg
- EMIF syscfg support
- Ethercat syscfg support
- Flash syscfg support
- SSU tool bug fixes and enhancements
- Flash API library
- BANKMODEs 1 and 3 supported (in addition to 0 and 2)
- Support for CPU3 programming (in addition to CPU1)
CCS and Compiler Version
Note: The minimum version of Code Composer Studio required is CCS ver 20.1.1 and compiler version is 1.0.0.LTS. Please refer to the Dependencies section for the download links.
What Is Not Supported
- Driverlib
- Syscfg
- External memory coverage in SSU tool
- In general, features or drivers not mentioned as part of "What Is Supported" section are not supported in this release. These features which are not supported currently are planned to be supported in upcoming releases.
Known Issues And Limitations
There are few limitations and known issues associated with this release
Limitations
Sl. No | Description | Workaround |
1 | Memory Allocation (specifically for Flash memory regions) through the Sysconfig tool is only supported for the 4MB Flash variant of the device. This includes the Memory Allocator tool as well as the SSU Configuration tool. | None |
2 | Limited F29P58X and F29P32X device support
- Only one example is provided which demonstrates F29H85X device emulation as F29P58X or F29P32X
| The device emulation may be extended to other examples as required The below driverlib function to be called in the example 'main' function to emulate as F29P58X and F29P32X respectively:
- SysCtl_emulateDevice(SYSCTL_EMULATE_F29P589DU5);
- SysCtl_emulateDevice(SYSCTL_EMULATE_F29P329SM2);
|
3 | In SSUMODE2 and SSUMODE3, 'memcpy' function cannot be called from link other than LINK2 | Define 'memcpy' function local to the link |
4 | Flash plug in fails to load the SSU IPC CPU1-CPU2 example in SSUMODE2 or SSUMODE3 | Load SSU IPC CPU1-CPU2 example always from SSUMODE1:
- Load 'default_seccfg_bankmode_0_ssumode1.out' to change the SSUMODE to MODE1
- Issue XRSn
- Load the SSU IPC CPU1-CPU2 example
|
5 | FreeRTOS: Support for task-specific FPU register saves has been removed | FPU registers are now always saved for all tasks. Any usage of vPortTaskUsesFPU() can be omitted. |
6 | Only Windows build is supported for the the Transfer examples | None. |
Known Issues
Sl. No | Description | Workaround |
1 | The default Error Status pin is GPIO-4 for out of the box EVM |
- Import the Secure empty project
- Launch syscfg by opening the .syscfg file
- Change the Error Status Pin GPIO as required
- System Security→Boot settings→Error Status Pin
Secure Empty Project Syscfg
- Build and run the example
- Issue XRSn
|
2 | CPU timer period is not accurate if the timer prescaler setting is non-zero | Configure the CPU timer period by making the Timer prescaler equal to 0. For eg, to generate timer period of 200 us use the following configurations for 200 MHz
- Prescaler = 0
- Period in cycles = 40000
|
Dependencies
This release has dependency on the following tools.