上一期,我们详细讲解了K230/K230D RTOS 系统中直接适配好的 SPI 屏幕使用方法,快速上手就能点亮屏幕,https://mp.weixin.qq.com/s/Qy0gyceHgGGdeSlUKrU2IA
不少开发者反馈:项目里常用的小众型号、未适配的 SPI/QSPI/MCU 屏幕,该怎么在 K230/K230D 上驱动?别急,今天这篇保姆级教程,就来手把手教你搞定自定义屏幕适配,解锁更多低成本小屏方案!
今天就基于官方最新驱动框架,给你一篇从零到点亮的完整教程,照着做就能成功!

一、先搞懂:
K230 屏幕驱动框架长啥样?
Connector + Panel 双层架构
-
Connector:管理 DSI/SPI/QSPI 等物理接口
-
Panel:管理屏幕型号、初始化序列、显示时序
-
一切配置从 make menuconfig 开始,代码只填必要信息
一句话:先配菜单,再补代码,最后跑 sample。
二、适配新屏第一步:menuconfig 完整配置流程
打开终端进入 SDK,直接敲:
make menuconfig
进入路径:
MPP Configuration → Display Configuration
1
打开对应显示驱动
根据你的屏幕接口选择:
-
MIPI DSI 屏 → 开 Enable LCD Display Driver
-
SPI 屏 → 开 Enable SPI LCD Display Driver
-
HDMI 显示 → 开 Enable HDMI Display Driver
2
配置引脚(必做!)
以最常用的 MIPI DSI 屏幕为例:
-
DSI-LCD Reset GPIO
-
DSI-LCD BackLight GPIO
SPI 屏还要额外配:
- DC 脚、CS 脚、时钟脚、数据脚

3
选择面板驱动
-
如果库里已有你的屏幕型号,直接勾选
-
如果没有,先随便选一个相近的,后面我们自己加
配置完保存退出,先编译一次,确保基础链路正常。
三、适配前必须拿到
这 2 份资料
没有这两个,神仙也点不亮屏幕:
1
屏幕时序参数(厂家给)
pclk_hz=27000000
这些是点亮屏幕的核心参数。
2
屏幕初始化序列(厂家给)
类似这种:
{0xFF,5,{0x77,0x01,0x00,0x00,0x13}},
后面要转换成 SDK 规定的格式。
四、手把手:代码里添加新屏幕(5步搞定)
第1步:定义屏幕类型
打开文件:
src/rtsmart/mpp/include/comm/k_connector_comm.h
新增一行,格式如下:
#define ST7701_368_552_DSI_V1 K_CONN_TYPE(ST7701, DSI, 368, 552, 1)
第2步:添加面板驱动文件
在目录下新建/复制面板文件:
src/rtsmart/mpp/kernel/connector/src/panels/
主要填写 3 块内容:
-
初始化序列 init_sequence
-
显示时序 timing
-
GPIO 配置(复位、背光)
static const k_panel_desc st7701_368_552_dsi_v1 = {
第3步:把面板挂进驱动列表
打开 connector_dev.c,把你的面板加入 panel_variants,
这样系统启动时才能识别到新屏幕。
第4步:Kconfig + Makefile 加入编译
-
Kconfig 添加菜单选项
-
Makefile 根据配置决定是否编译你的 .c 文件
这样 menuconfig 里就能看到你新加的屏幕了!
第5步:**加 CanMV Python 支持**
修改:
src/canmv/port/modules/modmedia_display.c
添加类型映射,Python 就能直接调用新屏幕。
五、最关键:验证是否成功
(2 条命令)
编译完成烧录后,在 shell 里输入:
1
查看当前支持的屏幕
list_connector
能看到你定义的名字,说明驱动加载成功

2
直接点亮测试
./mpp/sample_vo_osd.elf -c 你的屏幕ID
跑起来就亮了!
六、最常见 3 个坑
1
menuconfig 看不到新面板
→ 没打开上层驱动(LCD/DSI 开关)
→ Kconfig 里没写 depends
2
编译过了,但 list_connector 看不到
→ Makefile 没加源文件
→ 没挂进 panel_variants
3
屏幕有电但不亮
→ 复位/背光 GPIO 方向反了
→ 初始化序列错
→ 时序参数完全不对
→ sample 用错 connector_type
参考文档:
https://www.kendryte.com/k230\_rtos/zh/main/advanced\_development\_guide/how\_to\_add\_display.html
评论区
登录后即可参与讨论
立即登录