创龙T113学习记录--LVGL8.2编译

开发板:TLT113-MiniEVM_V1.2

系统:Ubuntu 20.04

源码下载:

1.github上面通过git拉取lv_port_linux_frame_buffer,并切换到release/v8.2分支

2.在lv_port_linux_frame_buffer文件夹下拉取lvgl代码,并切换到release/v8.2分支

3.在lv_port_linux_frame_buffer文件夹下继续拉取lv_drivers,并切换到release/v8.2分支

4.在lv_port_linux_frame_buffer文件夹下继续拉取lv_demos

此时,文件层级关系如下图所示:

LVGL头文件修改:

由于lv_port_linux_frame_buffer文件夹下本身带有lv_conf.h和lv_drv_conf.h,直接在其基础上进行修改了

lv_conf.h修改:

颜色格式,由于开发板外接的HDMI-1080的屏,本处没有修改

/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
#define LV_COLOR_DEPTH 32

为了查看帧率,使能了LV_USE_PERF_MONITOR

/*1: Show CPU usage and FPS count*/
#define LV_USE_PERF_MONITOR 1
#if LV_USE_PERF_MONITOR
    #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif

FONT USAGE中,使能用到的字体

/*==================
 *   FONT USAGE
 *===================*/

/*Montserrat fonts with ASCII range and some symbols using bpp = 4
 *https://fonts.google.com/specimen/Montserrat*/
#define LV_FONT_MONTSERRAT_8  0
#define LV_FONT_MONTSERRAT_10 0
#define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1
#define LV_FONT_MONTSERRAT_18 0
#define LV_FONT_MONTSERRAT_20 0
#define LV_FONT_MONTSERRAT_22 0
#define LV_FONT_MONTSERRAT_24 0
#define LV_FONT_MONTSERRAT_26 0
#define LV_FONT_MONTSERRAT_28 0
#define LV_FONT_MONTSERRAT_30 0
#define LV_FONT_MONTSERRAT_32 0
#define LV_FONT_MONTSERRAT_34 0
#define LV_FONT_MONTSERRAT_36 0
#define LV_FONT_MONTSERRAT_38 0
#define LV_FONT_MONTSERRAT_40 0
#define LV_FONT_MONTSERRAT_42 0
#define LV_FONT_MONTSERRAT_44 0
#define LV_FONT_MONTSERRAT_46 0
#define LV_FONT_MONTSERRAT_48 0

lvgl官方demo使能:

#define LV_USE_DEMO_WIDGETS        1

lv_drv_conf.h修改:

由于没有使用DRM/KMS方式,使用的是fb的方式,所以使能了fb:

/*-----------------------------------------
 *  Linux frame buffer device (/dev/fbx)
 *-----------------------------------------*/
#ifndef USE_FBDEV
#  define USE_FBDEV           1
#endif

#if USE_FBDEV
#  define FBDEV_PATH          "/dev/fb0"
#endif

开发板使用鼠标作为了输入设备,经查为event6:

故修改输入设备节点为event6

/*-------------------------------------------------
 * Mouse or touchpad as evdev interface (for Linux based systems)
 *------------------------------------------------*/
#ifndef USE_EVDEV
#  define USE_EVDEV           1
#endif

#ifndef USE_BSD_EVDEV
#  define USE_BSD_EVDEV       0
#endif

#if USE_EVDEV || USE_BSD_EVDEV
#  define EVDEV_NAME   "/dev/input/event6"        /*You can use the "evtest" Linux tool to get the list of devices and test them*/

main.c中修改了分辨率:

    /*Initialize and register a display driver*/
    static lv_disp_drv_t disp_drv;
    lv_disp_drv_init(&disp_drv);
    disp_drv.draw_buf   = &disp_buf;
    disp_drv.flush_cb   = fbdev_flush;
    disp_drv.hor_res    = 1920;
    disp_drv.ver_res    = 1080;
    lv_disp_drv_register(&disp_drv);

Makfile更改:

指定编译器:

CC = /home/hbb/T113/T113-i_v1.0/out/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc

由于工具链不支持如下编译选项,因此在CFLAGS注释掉如下内容:

#-Wshift-negative-value 
CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/ -Wall -Wshadow -Wundef -Wmissing-prototypes -Wno-discarded-qualifiers -Wall -Wextra -Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized -Wmaybe-uninitialized -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated -Wempty-body -Wtype-limits -Wstack-usage=2048 -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers -Wuninitialized -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wpointer-arith -Wno-cast-qual -Wmissing-prototypes -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wno-discarded-qualifiers -Wformat-security -Wno-ignored-qualifiers -Wno-sign-compare

开始编译:

在lv_port_linux_frame_buffer文件夹下,编译,完成后查看:

成功的话,出现demo文件

已经搭建好了ssh,使用scp传到开发板:

hbb@hbb-Code-01-Series-PF5NU1G:~/T113/lv_port_linux_frame_buffer$ scp demo root@192.168.1.251:/root
demo                                                                                                                                                                100% 1028KB  10.9MB/s   00:00 

在开发板上运行此demo:

鼠标在demo启动前插入没有问题,如果是在启动后再插入,出现无法操作的情况,putty倒是有插入的打印信息,先这样吧,下次再查查看是哪里没配置好。

最后跑了下benchmark例程,1080P下92帧,不确定正不正常。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 创龙C6748是一款适用于嵌入式系统的处理器,它基于ARM Cortex-A8架构。如果您想要下载创龙C6748的教程,您可以按照以下步骤进行: 1. 打开您的电脑浏览器,进入创龙官方网站或者其他可靠的技术网站。 2. 在网站的主页上或者搜索栏中输入“创龙C6748教程下载”。 3. 浏览搜索结果,选择您认为适合的教程下载链接。 4. 点击下载链接,等待教程文件下载完成。 5. 下载完成后,您可以将教程文件保存在您电脑的指定文件夹中。 6. 解压缩教程文件(如果有压缩文件),以便您能够访问其中的内容。 7. 打开教程文件,按照内容进行学习和实践。 需要注意的是,创龙C6748是一款技术性较强的处理器,学习和使用它需要一定的专业知识和背景。在学习教程的过程中,如果遇到任何疑问或者困难,建议您参考创龙官方网站的技术支持,或者在相关的技术论坛上寻求帮助。 希望以上回答能够帮到您,祝您学习顺利! ### 回答2: 要下载创龙c6748教程,可以采取以下步骤: 第一步,打开网络浏览器,进入搜索引擎网站,如百度、谷歌等。 第二步,使用搜索功能,在搜索栏中输入“创龙c6748教程下载”。点击搜索按钮。 第三步,搜索结果页面会显示相关的网页链接和资源信息。根据需要,选择一个可信赖的网站链接,点击进入网页。 第四步,进入所选网页后,可能需要进行注册或登录操作。根据网页提示,按照要求填写账号信息或登录账号。 第五步,搜索该网页上的教程下载链接或资源选项,一般会以文字、图标或按钮形式展示。点击相应的下载选项。 第六步,下载过程可能需要等待一段时间,具体取决于文件大小和网络速度。请耐心等待下载完成。 第七步,下载完成后,可以选择保存在计算机的特定位置,如桌面或指定文件夹。也可以根据自己的需求选择自动保存位置。 总结:要下载创龙c6748教程,需要选择可信赖的网页,注册或登录账号后,找到并点击下载链接,等待下载完成后,选择保存位置。 ### 回答3: 创龙C6748是一款TI(Texas Instruments 德州仪器)公司推出的低功耗的数字信号处理器(DSP)芯片。该芯片主要应用于音频、视频、通信、医疗等领域,具有高性能、低功耗、低成本等特点。 要下载创龙C6748的教程,可以按照以下步骤进行: 1. 打开浏览器,进入TI官方网站(www.ti.com)。 2. 在TI官方网站的搜索栏中输入"创龙C6748教程"或者"Craneboard C6748 tutorial"进行搜索。 3. 在搜索结果中选择合适的链接来下载教程。TI官方网站通常提供了多种格式的教程资料,包括PDF文档、视频教程等。 4. 确保你选择的教程版本适用于创龙C6748这款芯片,可以根据教程的说明来确认。 5. 点击下载链接,选择保存文件的路径。 6. 下载完成后,打开下载的文件,按照教程的步骤进行学习和操作。 如果在TI官方网站中无法找到合适的教程,你还可以尝试在其他技术论坛、社区或者开发者网站上搜索,有可能会找到其他开发者分享的教程资源。此外,还可以关注创龙C6748相关的技术博客、视频教程、社交媒体账号等,获取更多实际应用的教程和案例分享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值