2.1. Description

HALCoGen stands for Hardware Abstraction Layer Code Generator. It allows users to generate low-level drivers for component modules on Hercules™ microcontrollers. HALCoGen provides a graphical user interface that allows the user to configure peripherals, interrupts, clocks, and other Hercules microcontroller parameters. Once the Hercules device is configured using the GUI, the user can generate peripheral initialization and driver code, which can be imported into TI Code Composer Studio (CCS), IAR Embedded Workbench, or Keil uVision code projects.

HALCoGen streamlines the basic driver code generation by automatically generating efficient and error-free code for the Hercules family. This allows for faster development cycles and enables engineers to focus on application development instead of delving into the nitty-gritty register level configurations and details.


HALCoGen was built following a software development process certified by TÜV Nord.

2.1.1. HALCoGen Features

  • User Input on High Abstraction Level
    • Graphical-based code generation
      • Easy configuration
      • Quick start for new projects
  • Generates C Source Code
    • ANSI Conforming
    • Clear, structured, coding style
    • Customizable code for user maintenance
  • Supported Drivers
    • System Modules
      • Safety Init, MPU, PMU, PMM, PCR
    • Peripheral Modules
      • RTI, GIO, ADC
      • USB, Ethernet
      • Timer Co-processor (nHET)
      • eCAP, eQEP, ePWM
    • Interactive Help System
      • Describes tool features and functions
      • Provides detailed dependency graphs
      • Provides useful example code
      • Tooltip help available
  • Native support for CCS, ARM, IAR and GHS IDEs


The HALCoGen Compliance Support Package (CSP) is available to assist customers to qualify HALCoGen per ISO 26262 or IEC 61508 requirements. See section 2.6 for more information.

2.2. Download HALCoGen

HALCoGen can be downloaded from the following link.

2.3. Getting Started with HALCoGen

The following application note provides step-by-step instructions for creating a HALCoGen-Based project for CCS.

2.3.1. Examples

HALCoGen contains several step-by-step example projects. They can be located in HALCoGen by going to Help -> Examples, or Help -> Help Topics -> Contents -> Examples.


2.3.2. Training

Hercules Safety MCU Development Software & Tools Training Series This section of the Hercules Safety MCU Training Series looks at the software and other tools available for application development on the Hercules Safety MCU.

2.4. Supported Platforms and Features

Please refer to the HALCoGen Release Notes on the HALCoGen page for a table of supported platforms and features.

2.5. Known Issues

Please refer to the HALCoGen Release Notes on the HALCoGen page for a list of known bugs and issues.

2.6. SafeTI Compliance Support Package for HALCoGen

The HALCoGen Compliance Support Package (CSP) was developed to provide the necessary documentation, reports and unit test capability to assist customers using HALCoGen generated software to comply with functional safety standards such as IEC 61508 and ISO 26262.

The CSP includes the following:

  • Documentation
    • Safety Requirements
    • Software Architecture
    • Software Safety Manual
    • Dynamic Coverage Analysis Reports
    • Test Manager Reports
    • Test Results Reports
    • MISRA-C Results
    • Traceability Reports
    • Software User’s Guide
    • Software Release Notes
  • Unit Test Capability
    • TI unit level test cases
    • Test Automation Unit (TAU) based on LDRAunit

The HALCoGen CSP is available at the following link.


2.7. Technical Support

../../_images/E2e1.jpg For technical support please post your questions on the Hercules safety microcontrollers forum of the TI E2E™ Support Forums.