硬件
主控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,
};