文档首页 > > 开发指南> 功能组件> GUI> 开发指导

开发指导

分享
更新时间:2020/06/24 GMT+08:00

移植LittlevGL

如果需要在STM32xxx之外的其他运行LiteOS的嵌入式设备上移植LittlevGL,请在开发应用程序之前,根据设备提供的不同能力适配底层驱动(类似的工作我们已经在STM32F769IDISCOVERY上实现)。主要需要适配的内容有:显示驱动适配、输入驱动适配、tick适配、任务适配,适配的方法可以参考官方文档LittlevGL移植官方文档

初始化LittlevGL并添加任务

适配好驱动之后,在开发应用程序之前,还需要在LiteOS上将LittlevGL初始化,并将LittlevGL的主任务加到LiteOS的任务队列之中,可以参考LiteOS在STM32F769IDISCOVERY上的实现:LiteOS在YOUR_PATH/Huawei_LiteOS/targets/STM32F769IDISCOVERY/Src/main.c中预留了app_init接口,我们只需添加LittlevGL的初始化和主任务循环就可以了,代码示例如下:
UINT32 app_init(VOID)
{
    UINT32 ret = LOS_OK;
    printf("Hello, welcome to liteos!");
#ifdef LOSCFG_GUI_ENABLE
    LvglDemo();
#endif
    return ret;
}

LvglDemo中执行的是LittlevGL的初始化,并循环调用LittlevGL的任务处理函数,代码示例如下:

void LvglDemo(void)
{
    /* Enable the CPU Cache */
    CPU_CACHE_Enable();
    lv_init();
    tft_init();
    touchpad_init();
#ifdef LV_USE_DEMO_WIDGETS
    lv_demo_widgets();
#endif
    while(1) {
        lv_task_handler();
        HAL_Delay(5);
    }
}

功能特性

后续LiteOS将陆续提供更多GUI的优化和增强功能。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问