Skip to content

Board Configuration User Guide

1. Overview

Board configuration files are primarily used to manage the hardware environment of the chip. Examples include configuring pin functions and multiplexing options (which pins are used by UART/I2C, etc.) and parameters of the audio analog circuitry. In the CI13XX series SDK, all hardware-difference-related parameters are abstracted into board configuration files. For Chipintelli official development boards, the SDK provides corresponding board configuration files; simply set the filename for the selected board in user_config.h to run the demo.

2. Instructions

Board configuration code path: CI13XX_SDK\driver\boards

2.1. Code Structure

Source File Description
board_default.c
Weakly defined board configuration interfaces
board.c
board.h
Board configuration interfaces
board_port_template.c
Board configuration template
CI-D06GT01D_REV.c
CI standard board D06GT01D configuration source

2.2. Steps to Add a New Board

When defining your own hardware board configuration, follow the steps below. If the SDK already includes the configuration source file for your board, you only need to perform Step 2 to associate it.

2.2.1. Step 1: Add Source File

Add a new board source file, for example, CI-D06GT01D_REV.c. Method: copy board_port_template.c under SDK\driver\boards, rename it, and modify the interfaces according to your board circuitry. If you need to add new interfaces, see Step 3.

2.2.2. Step 2: Associate the New Board Source File

After adding the new board source file under SDK\driver\boards, associate it with the current SDK. Method: open the project and modify the BOARD_PORT_FILE macro definition in user_config.h so that the new board configuration source file is used.

#define BOARD_PORT_FILE           "CI-D06GT01D_REV_V1.0.c"    // Associate board configuration source file to CI-D06GT01D_REV_V1.0.c

2.2.3. Step 3: Adding New Interfaces

(1) Add interfaces in the newly added configuration source file (example shown below).

Board configuration usage

Figure 2-1 Add board configuration interface, Step 1

(2) Add the function declarations in boards.h, as shown below.

Board configuration usage

Figure 2-2 Add board configuration interface, Step 2

(3) Add a virtual function with the same name in borads_default.c, as shown below.

Board configuration usage

Figure 2-3 Add board configuration interface, Step 3