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