Hundreds of code examples are available for AURIX™ devices in this repository.
Each code example is made up of two parts: the source code and the corresponding tutorial.
To import a code example into AURIX™ Development Studio, follow the guide at the end on this page.
The topics covered by the code examples stored in this repository are the following, divided per macro category:
Communication Protocols | Data Handling | Timers | Analog/Digital Signals | CPU Management | Alarms, Interrupts and Resets |
---|---|---|---|---|---|
ASCLIN module handling for LIN, UART and SPI | Flexible CRC Engine control | Capture and Compare Unit control | Versatile Analog-to-Digital converter control | Assembly code execution | Device Reset type trigger and detection |
Ethernet communication | Input-Output Monitor control | Clock System | Delta-Sigma Analog-to-Digital converter control | Code execution from SRAM | Interrupt handling |
I2C communication | BUS register protection | General Purpose Timer control | GPIO port control | Performance registers usage | Safety Management Unit control |
CAN communication | Memory Protection control | Generic Timer Module control | Power Management System control | ||
SPI communication | Data and Program Flash programming | System Timer Module control | Multicore | ||
DMA control | Trap recognition | ||||
Memory test | Watchdog handling |
The source code of each code example is based on Infineon Low Level Drivers (iLLDs), for which the documentation can be found on the top right of this webpage.
Each code example is provided with a comment section called "metadata" in the Cpu0_Main.c file, which include:
- Title: the title of the code example
- Abstract: a short description of the example’s scope
- Description: a detailed description of the example’s scope
- Name: the example’s univocal name
- Version: the version number of the example (V<major changes>.<minor changes>.<bugfixes> e.g. V1.0.2)
- Board: a list of boards supported by the code
- Keywords: a list of keywords used to ease the search
- Documents: a list of links to documents useful for the code example
- Last Updated: date of the last modification
The name of each code example follows a specific naming scheme:
<Code name>_<ID number>_<Board short name>
e.g. : ADC_Filtering_1_KIT_TC375_LK
where:
- The code name summarizes in a couple of words the scope and the module used in the example
- The ID number is an identification number for the example scope (If the same scope would be achieved using different code, then the two code examples would be called _1 and _2 in order to differentiate them)
- The board short name describes which board the example code has been developed for (using board-specific port pins such as LED, communication, etc.)
The code examples supports the following types of boards:
In particular, the following boards are supported:
AURIX™ TC2xx Boards | # Code Examples | AURIX™ TC3xx Boards | # Code Examples |
---|---|---|---|
KIT_AURIX_TC234_TFT | ~5 | KIT_A2G_TC334_LITE | ~60 |
KIT_AURIX_TC237_TFT | ~5 | KIT_A2G_TC367_5V_TFT | ~5 |
KIT_AURIX_TC265_TFT | ~5 | KIT_A2G_TC375_ARD_SB | ~5 |
KIT_AURIX_TC275_ARD_SB | ~5 | KIT_A2G_TC375_LITE | ~60 |
KIT_AURIX_TC275_LITE | ~60 | KIT_A2G_TC377_5V_TFT | ~5 |
KIT_AURIX_TC277_TFT | ~5 | KIT_A2G_TC387_5V_TFT | ~5 |
KIT_AURIX_TC297_TFT | ~60 | KIT_A2G_TC397_5V_TFT | ~60 |
Each code example is provided with a tutorial, which can be downloaded either directly following the link inside the metadata in the Source Code, or from here, where you can find a collection of all the released tutorials.
Each tutorial contains the following information:
- Summary: An abstract and a detailed description of the example's scope
- Introduction: A generic introduction on the used module and it main features
- Hardware: The used hardware and how to configure it
- Implementation: A detailed explanation of how to implement the module's configuration using iLLDs and exploits their features
- Run and Test: The steps to follow to make sure the code is working properly and interact with it
To import a code example, use the dedicated import function in AURIX™ Development Studio: File >> Import... >> Infineon >> "AURIX Development Studio Project", select "Infineon Code Examples Repository" and select the code example to be imported.
The same result can be achieved by clicking on "Import AURIX Project" in the Quick Links view of AURIX™ Development Studio: