Hi3861移植LVGL教程

一、前言
给 hi3861 适配了硬件 spi ,master 模式下最高 spi 速率可以达到 40m,用来驱动 oled 屏幕。适配过程遇到了一个芯片bug,困扰了很久,clk 管脚驱动能力差,需要外接一个上拉电阻才能正常运行。适配完成移植 lvgl 8,分享适配的过程。
二、lvgl移植
上lvgl开源仓搞代码,https://github.com/lvgl/lvgl
2.1 适配 porting 层
关键点在于将 oled 的画点函数和 lvgl 代码 disp_flush 关联起来。参考如下我的移植,此处 draw point 将画点数据放到一个软件 buff 里面不会刷新硬件,硬件的刷新我单独创建一个线程干这活,所以使用 for 循环遍历,简单!
因为只有一个显示,没有适配输入以及文件系统,这两个 port 的适配之后再做。
2.2 头文件适配
因为是 oled,只有单色,所以颜色我选了最低8 位色,同时将 lvgl 字体调整为 8 位。
除此之外就是调整 lv_conf.h 里面的屏幕宽度了,其他的可以再后续修改。
2.3 liteos 线程适配
首先适配 lvgl tick 心跳,创建一个软件定时器,1ms 自加 1:
再创建一个软件定时器周期性的调用 lvgl 的 周期处理函数:
前面说的我的 oled 的 spi 硬件刷新在单独的线程里面执行,中断回调的方式,每次刷新256字节,刷新器件,刷新线程会被挂起,释放 cpu 资源,线程设计如下:
三、简单的 demo
写一个简单的 buttom demo:
static void lvgl_ui_init(void)
{
    static lv_style_t style;
    lv_style_init(&style);
    lv_style_set_radius(&style, 2);
    lv_style_set_outline_width(&style, 2);
    lv_style_set_outline_color(&style, lv_palette_main(lv_palette_blue));
    lv_style_set_outline_pad(&style, 0);
    lv_obj_t  *bkg_obj = lv_obj_create(lv_scr_act());   /*创建  obj*/
    lv_obj_set_style_bg_color(bkg_obj , lv_color_hex(0x0),0);
    lv_obj_set_pos(bkg_obj ,0, 0);
    lv_obj_set_size(bkg_obj, 128, 64);
    lv_obj_t *btn = lv_btn_create(lv_scr_act());      /*add a button to the current screen*/
    lv_obj_set_style_bg_color(btn , lv_color_hex(0x0),0);
    lv_obj_set_size(btn, 70, 24);                     /*set its  size*/
    lv_obj_add_style(btn, &style, 0);
    lv_obj_center(btn);
    lv_obj_t * label = lv_label_create(btn);           /*add a label to the button*/
    lv_label_set_text(label, button);                      /*set the labels  text*/
}
四、下载运行
可以看到 oled 显示创建好的按键。


Led芯片对锡膏的要求是什么?有区别吗?
开车防睡提醒器电路
四种类型的KS拉线位移传感器介绍
车辆跟踪系统的全面介绍
MTK6762安卓核心板
Hi3861移植LVGL教程
网卡类型
中国电子展走进成都 艾德克斯闪耀西部
怎样用自行车轮做发电机 脑洞大开
玩转车载导航仪:体验科幻电影般的感觉
手机NFC 功能别忽视,在这上面能起到大作用
以人才为发展根本,科隆新能源推动可持续高质量发展
从三个方面对智能电网大数据应用领域进行论述分析
SMARC 2.1更新规范适用于物联网连接的多媒体平台
科立视正在借助多物理场仿真来评估和优化玻璃制程
关于云计算:IaaS的四个误解和四个猜想
有钱也可能买不到!小米5X抢购倒计时:小米5X今天上午10点正式发售,骁龙625+双摄,售价1499元
麻省理工学院推无人机VR训练系统,可减少设备损耗
《“互联网+”人工智能 三年行动实施方案》印发 9大方向6大措施
直流减速电机和直流电机的区别