当前位置: 首页 > news >正文

学生模拟网站开发住房和城乡建设部信息中心官网

学生模拟网站开发,住房和城乡建设部信息中心官网,网站改版 建设方案,网站开发与若该文为原创文章,转载请注明原文出处。 本文介绍嵌入式轻量化图形库LVGL 8.2移植到Linux开发板ATK-RK3568上的步骤。 主要是参考大佬博客: LVGL v8.2移植到IMX6ULL开发板_lvgl移植到linux-CSDN博客 一、环境 1、平台:rk3568 2、开发板:…

若该文为原创文章,转载请注明原文出处。

本文介绍嵌入式轻量化图形库LVGL 8.2移植到Linux开发板ATK-RK3568上的步骤。

主要是参考大佬博客:

LVGL v8.2移植到IMX6ULL开发板_lvgl移植到linux-CSDN博客

一、环境

1、平台:rk3568

2、开发板: ATK-RK3568正点原子板子

3、环境:buildroot

4、虚拟机:正点原子提供的ubuntu 20

二、源码下载

本文档针对LVGL 8.2版本在Linux IMX6ULL开发板上移植LVGL需要下载的源码如下:

lvgl:https://github.com/lvgl/lvgl.git
lv_drivers:https://github.com/lvgl/lv_drivers.git
lv_port_linux_frame_buffer:https://github.com/lvgl/lv_port_linux_frame_buffer.git
lvgl:包含了LVGL基本的源码,以及官方给出的LVGL demo;

lv_drivers:包含了大多数设备的显示控制器和触摸驱动程序,主要用来指定显示屏使用哪一种驱动框架(包括FB、DRM等驱动程序框架);

lv_port_linux_frame_buffer:主函数文件所在的目录,整个工程的主文件夹,lvgl和lv_drivers都应放在此目录下。

可以在具有代理服务器的情况下克隆上述三个仓库的源码:

git clone -b release/v8.2 https://github.com/lvgl/lv_port_linux_frame_buffer.git
git clone -b release/v8.2 https://github.com/lvgl/lvgl.git
git clone -b release/v8.2 https://github.com/lvgl/lv_drivers.git

三、移植过程

先将下载好的源码文件夹lvgl和lv_drivers放在lv_port_linux_frame_buffer的路径下;

1、修改lv_conf.h

打开lv_conf.h,第15行,检查文件是否使能,如果没使能,使能该文件,应该将#if后面的0改为1

第27行,将宏LV_COLOR_DEPTH设置为32

根据测试得知正点原子的MIPILCD是32位,所以改成32

第48至67行的代码片段,将LV_MEM_CUSTOM设置为1,则表示使能显存分配

第80行至84行的代码,设置的是屏幕的刷新时间,单位是毫秒(ms)。我们将其中的30ms改为10ms。

第86至92行的代码,设置的是心跳时间,在主函数文件main.c中有一个custom_tick_get的函数,用于之后的事件响应编程和定时任务编程,若此功能没有使能,则点击屏幕上的组件将没有响应

第671行,为了看到移植的效果,我们先使能官方的demo,来检测是否移植成功:

2、修改lv_drv_conf.h

此文件用于配置显示屏所使用的底层驱动,我们使用FB驱动框架来点亮LCD屏,所以对于此文件的修改,有测试过DRM但没编译成功,DRM自行修改测试。

第11行,先使能此文件,将“#if 0”改为“#if 1”:

第318行,使能FBDEV的驱动,将宏USE_FBDEV改为1:

第441行,使能鼠标或者触摸板作为evdev界面,将USE_EVDEV设置为1:

第450行,指定evdev设备节点的路径,把/dev/input/event0修改成/dev/input/event2

对应于event文件,然而/dev/input下有可能有多个event文件,此时我们可以用hexdump命令来检测:

hexdump event1

运行上面的命令之后,再点击LCD屏一下,如果发现终端输出了一大堆十六进制数,则说明LCD的evdev的输入设备节点是它,否则,就换一个event文件进行测试。

第453行,设置显示屏的分辨率EVDEV_HOR_MAX和EVDEV_VER_MAX,我使用的是5.5寸MIPI屏,分辨率为720*1280。所以两个宏分别设置为720和1280。

evdev是输入设备的配置,只有使能了evdev,触摸屏幕才会有反应

3. 修改main.c文件

在main.c文件里面,我们主要修改其中包含的头文件、使用的驱动类型,以及demo函数等。

第10行,修改显示缓冲区的大小,即720*1280,分辨率的大小:

第27至34行的代码部分,这一段是初始化和设置显示驱动的部分:

第46至50行,我们不使用鼠标作为LCD显示屏的输入设备,所以mouse部分将它注释掉:

第54行,这里面告诉了我们搭建整个LVGL应用程序的函数为lv_demo_widgets,通过查看main.c的头文件就可以知道,这个函数在“lvgl/demos/widgets/lv_demo_widgets.c”中定义。

4、修改Makefile文件

第4行,将CC编译器修改为自己的交叉编译器,修改如下:

注释掉第20行,使其不能编译鼠标输入设备的源码:

四、源码编译

源码修改完成之后,把源码拷贝进虚拟机,虚拟机先运行下面命令,设置交叉工具链:

export CC=/opt/atk-dlrk356x-toolchain/usr/bin/aarch64-buildroot-linux-gnu-gcc

没设置,会出现下面错误:

执行后,编译:

make -j4

把demo_test上传到开发板上运行

结果正常

如有侵权,或需要完整代码,请及时联系博主。

http://www.yayakq.cn/news/666597/

相关文章:

  • 群晖 建非wordpress长沙官网seo技巧
  • 网站维护 上海中国建设网app
  • 专门做选择题的网站盐城代运营
  • 成都龙泉建设有限公司网站个人网站可以做app吗
  • 网站引入优酷视频小程序助手app下载
  • wordpress培训类网站模板带后台的手机网站源码
  • 如何用本机电脑做网站服务器吗做论坛网站的应用
  • 怎样建立自己的网站自学前端怎么学
  • 旅游企业公司网站建设wordpress转化为中文版
  • 室内装修设计软件推荐seo关键词排名优化如何
  • 华仁建设网站wordpress更换域名首页无法访问
  • 网站备案需要关闭工业物联网平台
  • git 网站开发应用公装设计网站
  • 网站运营成功案例东莞网络企业推广
  • 网站建设 蔬菜配送公司免费取名
  • 网站建设用户量分析普通网站建设
  • 网站正能量大全买卖链接网站
  • 盘锦门户网站制作网页设计与制作课程大纲
  • 代理浏览网站制作公司网站 黑龙江
  • 网站建设公司专业网站开发需求北仑网站网页建设
  • 广西住房城乡建设厅网站首页海外网深一度
  • 网站开发代码用什么软件广东建设厅官网证件查询
  • 常德地区网站建设做企业宣传网站
  • 网络营销推广网站收录wordpress oyester
  • 用dw制作网站模板网站提交网址
  • 阿里巴巴的网站应该怎么做公司想做个网站怎么办
  • 有自己网站做淘宝客赚钱东莞人才市场现场招聘信息
  • 合肥网站建设电话wordpress自定义栏目是什么
  • 手机网站图片自适应wordpress中添加登陆页面跳转
  • 企业网站的建设多少钱做国外网站关键词用写