0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【K230/K230D 新技能点亮】手把手教你在RTOS系统添加一个屏幕|保姆级教程

RT-Thread官方账号 2026-05-23 10:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

上一期,我们详细讲解了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,直接敲:

makemenuconfig

进入路径:

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 脚、时钟脚、数据脚


dbd51a4a-564b-11f1-ab55-92fbcf53809c.png


3


选择面板驱动

如果库里已有你的屏幕型号,直接勾选

如果没有,先随便选一个相近的,后面我们自己加

配置完保存退出,先编译一次,确保基础链路正常。



三、适配前必须拿到

这 2 份资料


没有这两个,神仙也点不亮屏幕:


1


屏幕时序参数(厂家给)

pclk_hz=27000000fps=60lane_num=2
hactive=368hsync=8hbp=16hfp=16
vactive=552vsync=48vbp=250vfp=250


这些是点亮屏幕的核心参数


2


屏幕初始化序列(厂家给)

类似这种:

{0xFF,5,{0x77,0x01,0x00,0x00,0x13}},{0xEF,1,{0x08}},{0x11,0,{0x00}},

后面要转换成 SDK 规定的格式。



四、手把手:代码里添加新屏幕(5步搞定)



第1步:定义屏幕类型


打开文件:

src/rtsmart/mpp/include/comm/k_connector_comm.h


新增一行,格式如下:

#defineST7701_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 配置(复位、背光)

staticconstk_panel_desc st7701_368_552_dsi_v1 = { .name="st7701_368_552_dsi_v1", .connector_type=ST7701_368_552_DSI_V1, .bus_type=K_CONN_BUS_DSI, .timing= { .pclk_hz=27000000, .hactive=368, .hfront_porch=16, .hback_porch=16, .hsync_len=8, .vactive=552, .vfront_porch=250, .vback_porch=250, .vsync_len=48, }, .gpio= { .reset_pin=CONFIG_MPP_DSI_LCD_RESET_PIN, .backlight_pin=CONFIG_MPP_DSI_LCD_BACKLIGHT_PIN, .reset_active_low=K_TRUE, }, .ops= &st7701_panel_ops,};



第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

能看到你定义的名字,说明驱动加载成功


dbe23f5e-564b-11f1-ab55-92fbcf53809c.png


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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动
    +关注

    关注

    12

    文章

    2002

    浏览量

    88794
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1907

    浏览量

    102449
  • RTOS
    +关注

    关注

    25

    文章

    872

    浏览量

    123275
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    01 Studio K230开发板开箱评测

    Studio K230开发板开箱评测
    的头像 发表于 06-28 14:26 4167次阅读
    01 Studio <b class='flag-5'>K230</b>开发板开箱评测

    香蕉派 BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计

    开发板采用的是嘉楠科技Kendryte®系列AIoT芯片中的最新代SoC芯片K230D。该芯片采用全新的多异构单元加速计算架构,集成了2RISC-V高能效计算核心,内置新代KPU
    发表于 07-30 17:43

    Banana Pi BPI-CanMV-K230D-Zero :AIoT 应用的 Kendryte K230D RISC-V

    Banana Pi BPI-CanMV-K230D-Zero 是款紧凑型低功耗单板计算机,基于 Kendryte K230D 双核 XuanTie C908 RISC-V 芯片构建,集成第三代知识
    发表于 12-05 09:19

    k230 rtos串口1无输出怎么解决?

    studio k230 linux+rtos,大核里打开了uart1设备,使用例程通过uart1发送和接收数据,但是电脑上没有接收到任何数据,01 studio的串口1是io3和io4,请问是需要配置引脚功能么?如果需要,怎么
    发表于 04-28 08:02

    请问K230K230D有哪些区别?

    这两芯片有哪些区别?算力相差多少? 你好,主要差别为K230D内置了DDR(128M),以及部分引脚没有引出,其他得没有差别。 K230D内置 128MB LPDD4, K230
    发表于 06-11 06:46

    【BPI-CanMV-K230D-Zero开发板体验】香蕉派 K230D 视觉开发板开箱+CamMV 环境搭建

    【开箱】 今天收到了香蕉派 Banana Pi BPI-CanMV-K230D-Zero 开发板,先上图睹为快。 【处理器介绍】 这款开发板搭载嘉楠科技 K230D 处理器,K230D
    发表于 06-24 22:54

    【BPI-CanMV-K230D-Zero开发板体验】介绍、系统安装、工程测试

    ,之后介绍了 SDK 编译以及系统镜像固件的烧录流程,并给出些官方 Demo 例程的工程测试。 介绍 Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D
    发表于 06-25 20:15

    【嘉楠堪智K230开发板试用体验】高校竞赛-K230开发板-1

    年推出的第代 RISC‑V 架构边缘 AI 芯片系列,起始于 K210 芯片,之后陆续推出 K510、K230K230D 等升级版,
    发表于 06-28 01:25

    【嘉楠堪智K230开发板试用体验】CanMV K230 开发环境搭建

    canmv-ide-windows-4.0.8.exe安装。 安装完成后,即可打开CanMV IDE K230软件。 3 CanMV K230镜像烧写 烧写系统之前,需要将SD卡格
    发表于 07-13 22:05

    手把手教你构建完整的工程

    手把手教你构建完整的工程
    发表于 08-03 09:54 33次下载
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>构建<b class='flag-5'>一</b><b class='flag-5'>个</b>完整的工程

    手把手教你学LabVIEW视觉设计

    手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视觉设计手把手教你学LabVIEW视
    发表于 03-06 01:41 3589次阅读

    Banana Pi BPI-CanMV-K230D-Zero 采用嘉楠科技 K230D RISC-V芯片设计

    KPU,内置 128MB LPDDR4 内存,提供了高性能的本地推理运算支持。Canmv K230D Zero 的设计旨在支持各种 DIY 项目、物联网设备和嵌入式系统,其丰富的开发资源和小巧的尺寸
    的头像 发表于 07-30 17:41 1853次阅读
    Banana Pi BPI-CanMV-<b class='flag-5'>K230D</b>-Zero 采用嘉楠科技 <b class='flag-5'>K230D</b> RISC-V芯片设计

    嘉楠科技发布K230D芯片,强化AIoT领域高性能计算

    8月21日的最新动态中,嘉楠科技正式推出了其新代AI芯片——勘智(Kendryte)K230D,作为K230系列的最新升级版本,K230D
    的头像 发表于 08-21 16:21 4530次阅读

    嘉楠科技勘智K230D芯片赋能正点原子K230D BOX开发板

    近日,以嘉楠科技(Canaan Inc.)(纳斯达克股票代码:CAN)旗下勘智K230D芯片为主控芯片的正点原子K230D BOX正式上市。据悉,此产品定位为AI视觉开发套件,支持CanMV开发环境
    的头像 发表于 02-27 13:59 3518次阅读

    RT-Thread Smart携手K230/K230D打造多核RISC-V高性能嵌入式操作系统

    万物互联的智能时代,国产软硬件技术的突破正成为推动产业升级的核心动力。RT-ThreadSmart(简称:RT-Smart)操作系统与嘉楠科技K230芯片的深度融合,为AI边缘计算领域带来了
    的头像 发表于 03-17 16:35 3237次阅读
    RT-Thread Smart携手<b class='flag-5'>K230</b>/<b class='flag-5'>K230D</b>打造多核RISC-V高性能嵌入式操作<b class='flag-5'>系统</b>