硬件

主控IC: D121BAV

屏幕型号:SPI-RV028

调试流程

  • 1.由于Windows不需要额外安装调试环境,直接clone官方gitee中的luban-lite开发环境
    官方介绍:Luban-Lite 是 ArtInChip 基于 RT-Thread 深度定制的 RTOS 系统,支持 RT-Thread 生态,free-rtos 核和裸跑(Barametal

git clone https://gitee.com/artinchip/luban-lite.git
  • 2.使用VSCode打开luban-Lite文件夹

  • 3.点击VSCODE 终端选项,新建一个终端,或使用快捷键<Shitf+Ctrl+`>

  • 4.本次实验使用rt-thread框架,使用官方demo中的第五种
    在CMD终端中输入lunch 5 <可以使用 list 命令查询可选列表>

lunch 5
  • 5.使用me命令进入菜单配置(CMD命令行高应该高于60行 不然不出画面)
    选择Board options 选项 进入面板配置

    使用↓往下翻,选择Display Parameter选项

  • 修改至如下图所示

    select Display interface 接口为选择屏幕接口
    D121支持RGB及SPI输出 在匠心创中MIPI-DBI Interface接口就是SPI接口

    Display Panels 中选择 ili9341 panel
    在匠心创中,2024/7/15 官方只适配了ili941及st777903的SPI驱动


    背光引脚此次实验使用PE.13引脚
    个人根据自己的修改

  • |选择保存 退出 然后疯狂exc 回退至 cmd页面

  • CMD终端输入m 进行代码编译

  • 将生成的luban-lite\output\d12x_hmi-nor_rt-thread_helloworld\images文件夹下的Bootcfg及d12x_hmi-nor_v1.0.0.img文件放置到SD卡中 重启进行烧录

  • 烧录完成 画面显示成功到 颜色不正常

  • 由于2.8寸使用的是ST7789的芯片 所以要修改初始化代码 修改路径bsp\artinchip\drv\display\panel\panel_dbi_ili9341.c

  • 关键在于0x21 色彩反色需要在初始化中增加

static const u8 ilist7789_commands[] = {
    0xcf,   3,  0x00,   0xc1,   0x30,
    0xed,   4,  0x64,   0x03,   0x12,   0x81,
    0xe8,   3,  0x85,   0x01,   0x78,
    0xcb,   5,  0x39,   0x2c,   0x00,   0x34,   0x02,
    0xf7,   1,  0x20,
    0xea,   2,  0x00,   0x00,
    0xc0,   1,  0x21,
    0xc1,   1,  0x12,
    0xc5,   2,  0x5a,   0x5d,
    0xc7,   1,  0x82,
    0x36,   1,  0x08,
    0x3a,   1,  0x66,
    0xb1,   2,  0x00,   0x16,
    0xb6,   2,  0x0a,   0xa2,
    0xf2,   1,  0x00,
    0xf2,   1,  0x00,S
    0xf6,   2,  0x01,   0x30,
    0x26,   1,  0x01,
    0xe0,   15, 0x0f,   0x09,   0x1e,   0x07,   0x0b,   0x01,   0x45,   0x6d,
                0x37,   0x08,   0x13,   0x01,   0x06,   0x06,   0x00,
    0xe1,   15, 0x00,   0x01,   0x18,   0x00,   0x0d,   0x00,   0x2a,   0x44,
                0x44,   0x04,   0x11,   0x0c,   0x30,   0x34,   0x0f,
    0x2a,   2,  0x00,   0x00,
    0x2a,   4,  0x00,   0x00,   0x00,   0xef,
    0x2b,   4,  0x00,   0x00,   0x01,   0x3f,
    0x11,   0,
    0x21,0,   //增加色彩反色
    0x00,   1,  120,
    0x29,   0,
};