Built-in

Introduction

Mainly used for SDK versions prior to 2.4, to create new display drivers within the SDK

Directory Structure

Here, we use the eh-lb525 board, with the screen module (nv3051f display driver + gt911 touch driver), and the aw9364 backlight driver chip as an example:

SDK
├──customer
│   ├──boards
│   │   ├──eh-lb52xu            # Board-level directory for the eh-lb525 board
│   │   │   ├──bsp_lcd_tp.c     # Implementation of power-on/off, reset interfaces for the screen and TP, and pinmux configuration for communication interfaces
│   │   │   └──Kconfig.board    # Definitions for power-on/off, reset pins of the screen and TP, and PWM backlight pin
│   │   │
│   │   │
│   │   └──Kconfig_lcd     # Menuconfig menu definition for the screen module (collects macros for display driver, TP driver, backlight type, and screen module resolution)
│   │
│   │
│   └──peripherals
│       ├──nv3051f1              # Directory for the nv3051f1 display driver
│       │   ├──nv3051f1.c        # Implementation of the display driver
│       │   └──SConscript        # Build and link file
│       │
│       ├──gt911                # Directory for the gt911 touch driver
│       │   ├──gt911.c          # C file for the touch driver
│       │   ├──gt911.h          # Header file for the touch driver
│       │   └──SConscript        # Build and link file
|       |
│       ├──aw9364                # aw9364 backlight driver chip, backlight device "lcdlight"
│       │   ├──aw9364.c          # C file for the backlight driver chip
│       │   ├──aw9364.h          # Header file for the backlight driver chip
│       │   └──SConscript        # Build and link file
│       │   
│       └──Kconfig              # Macro definitions for display driver IC, touch driver IC, and backlight driver IC
├──rtos
│   └──rtthread
│       └──bsp
│           └──sifli
│               └──drivers
│                   ├──drv_touch.c  # TP driver management layer, provides "touch" device to the application layer
│                   └──drv_lcd.c    # LCD driver management layer, provides "lcd" device to the application layer
└──examples        # Example applications
    └──rt_driver   # Screen debugging project, calls "lcd" and "touch" devices