一、目的
在自己的嵌入式产品,尤其是单片机/arm/dsp之类的裸机产品或者轻量级产品上,为了运行快速、缓存低、轻量级的界面设计开发,需littlevgl恰好满足这个目的,且由于其免费,所以值得设计者研究或者去利用移植到自己平台上。
本次移植是在nuc970这个arm9平台实现的,其他平台类似。littlevgl的界面移植很简单,并不繁琐,很容易移植到终端mcu平台中。
二、移植关键阐述
对于littlevgl移植,最基本的移植为图像移植,人机互动则是input移植。只要移植好这两个方面,基本就能将littlevgl的ui库加载到我们自己的平台上了。其中图形移植,见另外一章,这里只阐述input移植。
input移植其实概用官方所述,只要实现两个关键的东西,一个是触摸数据上报,一个是触摸类型配置。在littlevgl中提供了这些属性的通用接口函数和流程。
即申请一个input变量,然后实现这个变量的数据上报函数和类型。比如:
lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv); /*Basic initialization*/
indev_drv.type =... /*input type.*/
indev_drv.read_cb =... /*input fun to get input data.*/
/*Register the driver in LittlevGL and save the created input device object*/
lv_indev_t * my_indev = lv_indev_d