更多源码分析请访问:LVGL 源码分析大全
1、设计原因
因为LVGL本身是针对MCU级别而设计的,为了减少生成的代码量,在代码中大量使用了宏管理来控制代码。相关宏主要放在 lv_conf.h
和 lv_drv_conf.h
两个配置头文件中。
我们的项目是在Linux上跑的,无论是DDR或者是Flash都能完全满足这点代码运行的要求,所以没有必要采用宏来做功能管理和裁减。但实际项目也需要一些配置来管理LVGL的运行方式,因而需要一套配置管理功能,来完成这一目标。
2、接口设计
配置选项一般是从main函数运行时,从传入来参数中解析而来,因此定义一个接口来生成配置,一个接口来释放配置即可。同时,配置选项为本应用中唯一对象,即可做成单例模式接口。头文件定义如下:
int xs_options_init</