摘要
本文基于杰理 AC696N 芯片 SDK,AC695N芯片同样适用,完整梳理 240×240 GC9A01 SPI 驱动TFT移植全流程,覆盖板级宏配置、SPI 硬件初始化、LCD 引脚定义、屏幕驱动注册、UI 适配、资源压缩、图片显示调试七大核心步骤,同时说明内置 / 外置图片资源切换方法,解决 IO 冲突、Flash 空间不足、UI 头文件缺失等常见工程问题,适合蓝牙音箱、便携音频设备开发工程师快速落地。
一、板级总宏与 UI、SPI 基础配置
第一步修改board_config.h开启 LCD 板级宏CONFIG_BOARD_AC696X_LCD,系统自动加载 LCD 配套 cfg 与驱动文件。
随后进入board_ac696x_lcd_cfg.h完成三层配置:UI 总开关TCFG_UI_ENABLE打开、TCFG_SPI_LCD_ENABLE开启 SPI 彩屏驱动,指定 SPI2 作为屏幕通信通道;硬件 SPI2 配置为主机、单向 1bit 模式、20M 波特率;同时关闭 SD 卡宏TCFG_SDO_ENABLE=0规避 IO 引脚冲突。充电、自动关机、低电压检测等系统参数按需适配产品逻辑。
二、LCD 硬件引脚分配
在 LCD 平台数据结构体定义复位、片选、RS、背光引脚(示例 PB01/PB02/PB00/PB03),绑定 SPI2 硬件通道,完成 UI 设备类型注册为 TFT_LCD,全程保证引脚无复用冲突。
三、GC9A01 屏幕驱动与 UI 样式适配
在lcdinit.c写入 GC9A01 原厂初始化指令序列,注册 LCD 驱动结构体,定义 240×240 分辨率、RGB565 色彩格式,绑定读写命令、刷屏、背光控制底层函数。
彩屏需修改ui_style.h引入style_JL02.h彩屏 UI 库,配置页面 ID;Code::Blocks 工程需手动新增 UI 文件,否则编译报头文件缺失。
四、Flash 空间压缩与图片资源部署
UI 图片存储于内置 Flash,需精简 ROM:关闭闲置任务、删减音频解码、删除冗余提示音。将 UI 工具导出的 BIN 资源文件放入工程 standard 目录,修改 download 批处理脚本打包资源。
五、应用层调用实现图片显示
app_main.c上电后切换至空闲任务,在idle.c中调用ui_pic_show_image_by_id()传入 UI 工具生成的图片 ID,实现上电自动显示画面。
六、图片存储路径切换
资源读取位置由res_config.h中RES_PATH控制:INTERN_PATH为内置 Flash,EXTERN_PATH为外置存储,修改宏即可切换图片存放介质。
整套流程复用杰理原生 UI 底层,无需修改画点、画线底层接口,仅需适配屏初始化序列与硬件引脚,快速实现音频设备彩屏可视化功能。
总结
本次 AC696N 驱动 GC9A01 TFT 屏分为宏开关配置→SPI 硬件初始化→LCD 引脚定义→屏幕驱动注册→UI 样式适配→资源打包压缩→应用层显示调用标准化流程。核心避坑要点:SD 卡与 LCD 引脚冲突需屏蔽 SD、SPI 通道模式匹配、UI 头文件手动添加、内置 Flash 需精简资源。整套方案通用性强,更换其他 SPI 彩屏仅替换初始化指令与分辨率参数即可复用,大幅缩短音频设备屏幕开发周期。