1. Objects
1.1 父部件和子部件
子部件的位置是相对父部件的,父部件移动子部件跟着移动
1 | lv_obj_t * parent = lv_obj_create(lv_scr_act()); /*Create a parent object on the current screen*/ |
部件可以动态创建和删除,删除父部件会递归删除子部件:
子部件的位置是相对父部件的,父部件移动子部件跟着移动
1 | lv_obj_t * parent = lv_obj_create(lv_scr_act()); /*Create a parent object on the current screen*/ |
部件可以动态创建和删除,删除父部件会递归删除子部件:
参考:
文章链接: https://subingwen.cn/cmake/CMake-primer/
文章作者: 苏丙榅
1 | cmake_minimum_required(VERSION 3.0) |
cmake_minimum_required:指定使用的 cmake 的最低版本
project:定义工程名称,并可指定工程的版本、工程描述、web主页地址、支持的语言(默认情况支持所有语言),如果不需要这些都是可以忽略的,只需要指定出工程名字即可。
1 | # PROJECT 指令的语法是: |
add_executable:定义工程会生成一个可执行程序
1 | add_executable(可执行程序名 源文件名称) |
源文件名可以是一个也可以是多个,如有多个可用空格或;间隔
1 | # 样式1 |
应用程序和驱动程序之间传递数据时,可以通过 read、write 函数进行,如下图:

应用程序不能直接读写驱动程序中的 buffer,需要在用户态 buffer 和内核态 buffer 之间进行一次数据拷贝。这种方式在数据量比较小时没什么问题; 但是数据量比较大时效率太低。例如更新 LCD,假设 LCD 采用 1024 × 600 × 32 bpp 的格式,则一帧数据就有 2.3 M左右,拷贝的步骤效率太低。
应该允许程序直接读写驱动程序中的 buffer,这可以通过 mmap 实现(memory map),把内核的 buffer 映射到用户态,让 APP 在用户态直接读写。